Problem z bazą

janjas92

Avatar: janjas92

2012-03-20 18:34

Witam , mam pewien problem z bazą plików w Quick.Cms w wersji darmowej (4.0) . Po skopiowaniu całej strony z serwera na serwer lokalny (xampp) wyskakuje błąd :

Notice: unserialize() [function.unserialize]: Error at offset 0 of 4019 bytes in C:\xampp\htdocs\haft\ftp\core\libraries\flat-files.php on line 38

Notice: unserialize() [function.unserialize]: Error at offset 0 of 628736 bytes in C:\xampp\htdocs\haft\ftp\core\libraries\flat-files.php on line 38

Proszę o jak najszybszą pomoc .
Pozdrawiam
janjas92

» Quick.Cms v4.x

treewood (OpenSolution)

Avatar: treewood

2012-03-21 09:18

Widocznie w ktoryms pliku masz uszkodzone dane. Ta sama baza danych na XAMPP dziala bez problemu?

janjas92

Avatar: janjas92

2012-03-21 09:51

Właśnie w tym jest problem , baza która działa poprawnie na ftp'ie po skopiowaniu na XAMPP'a już nie chce działać , wyrzucając taki błąd . Na początku myślałem że same skopiowanie bazy to za mało , dlatego skopiowałem całego quicka z ftp na xamppa ale niestety błąd dalej wyskakuje .

treewood (OpenSolution)

Avatar: treewood

2012-03-21 22:43

A czy masz oryginalna wersje bazy, ktora dziala na XAMP a nie dziala na serwerze? Moglbys ja udostepnic by zobaczyc co z nia nie tak?

janjas92

Avatar: janjas92

2012-03-22 19:04

Nie wiem co masz na myśli pisząc oryginalną wersje bazy . Baza która jest na ftp jest taka sama jak na xampp , tyle że jest uzupełniona o nowe strony/rekordy . Ta która jest na xamppie ale bez tych stron/rekordów działa , ta uzupełniona na ftpie działa ale tylko na ftpie . Dobrze by było gdybyś podał mi maila na który bym mógł wysłać obie bazy .

boboo

Avatar: boboo

2012-03-22 22:25

Pierwsza linijka w bazach musi wyglądać tak (w notepad++):
<?php exit; ?>LF (tak jest dobrze).
w 38. linijce flat-files.php jest obcinane 15 pierwszych bajtów a następnie reszta jest "unserializowana". Jeśli zamiast zwykłego LF masz jeszcze CR - to kicha.
<?php exit; ?>CRLF (tak jest źle).
A zdarza się przy złym ustawieniu transferu ftp (binarny/ascii), że są te bajty wprowadzane.

http://qc-plugins.kimla.de

janjas92

Avatar: janjas92

2012-03-23 10:25

No to tak boboo , właśnie sprawdziłem w notepad++ że ściągając pliki z serwera za pomocą Windows Explorer przed końcem każdej linii jest LF , natomiast jak ściągam pliki za pomocą FileZilli na końcu każdej linii jest CRLF , aktualnie nie mam możliwości sprawdzenia czy to jest powodem błędu. Postaram się jeszcze dzisiaj odpisać czy się udało.

janjas92

Avatar: janjas92

2012-03-23 12:32

Dobra wszystko już działa tak jak powinno , jeszcze raz wielkie dzięki za pomoc.
Rozwiązaniem problemy było ustawienie w FileZilla trybu transferu na binarny .

treewood (OpenSolution)

Avatar: treewood

2012-03-23 13:15

No tak ... ja sie doszukuje problemow w serializacji a sie okazuje, ze ktos po prostu nie przeczytal instrukcji instalacji :(
http://opensolution.org/Quick.Cart/docs/?id=pl-requirements

"Ważne, aby pliki były wgrywane na serwer z ustawionym typem transferu na binarny,"

Ech ...

boboo

Avatar: boboo

2012-03-24 08:18

A może zamiast "twardej" piętnastki w 38. linijce wstawić strpos "\n" z pierwszej linijki pliku bazy?

qc-plugins.kimla.de

treewood (OpenSolution)

Avatar: treewood

2012-03-24 11:14

boboo - mozna ale to ma wplyw na wydajnosc zwlaszcza przy duzych plikach. Jak bedzie duzo z tym problemow to tak zrobimy kosztem wydajnosci. Tyle, ze jesli ludzie nie beda wgrywali w trybie binarnym to nie wiadomo co jeszcze sie wykrzaczy. Zycie pokaze

openzibi

Avatar: openzibi

2012-03-24 12:13

Dodam jeszcze od siebie.
Proponuje unikać trybu automatycznego (binarny/tekstowy).
Niektóre klienty FTP, domyślnie wysyłaja pliki .php w trybie ASCII, a nie zawsze pamietamy żeby rozszerzenie .php usunac w konfiguracji z listy wyjatków.

Ponadto w przypadku eksperymentów na plikach bazowych databaze/pl_pages.php i pl_pages_files.php prosze sprawdzac przed wyslaniem np w Notepad++
czy mamy format Unix/Ansi as UTF.
Inaczej mówiac w tych 2 plikach musi byc unixowy znak końca linii czyli LF a nie windowsowy CRLF (mozna to sprawdzic właczajac View/Show End of Line)
Przy innych plikach nie powinno to miec znaczenia ale przy plikach bazowych tak.


-------------------------------------------------------
hosting-domeny-strony - http://www.rhh.pl

Do góry
o nas | kontakt