Biała strona w PrestaShop. Jak to naprawić?

Biała strona w PrestaShop to błąd, który może mieć wiele różnych przyczyn. Przejawia się tym, że próba wywołania sklepu lub panelu administracyjnego kończy się fiaskiem – jedyne co widać, to biała strona. Jak to naprawić? Gdzie szukać źródła problemu? Zobaczmy.

Jednym z problemów, na jakie można trafić w swoim sklepie stworzonym w oparciu o PrestaShop, jest „biały ekran śmierci”. Sklep nie wyświetla żadnej zawartości – czasem w panelu administratora, czasem na stronie głównej, a czasem w obu tych miejscach. Czy to oznacza, że utraciliśmy swój sklep internetowy? Bardziej prawdopodobne jest to, że biały ekran w PrestaShop jest wynikiem błędu. Jakiego? Zobaczmy, jak to zdiagnozować.

Uwaga! Pamiętaj, aby przed wykonaniem jakichkolwiek zmian w plikach lub folderach sklepu wykonać kopię zapasową. Jeśli masz serwer w LH.pl, to masz dostęp do automatycznie tworzonej kopii zapasowej z ostatnich 14 dni. Pamiętaj też o tym, że poniższe przykłady to tylko najpopularniejsze przyczyny występowania problemu białej strony.

Szukasz bezproblemowego hostingu pod PrestaShop? Wybierz LH.pl

1. Niekompatybilna wersja PHP na serwerze

Jedną z przyczyn jest niewłaściwa wersja PHP ustawiona na serwerze. Może być ona niekompatybilna z używaną wersją PrestaShop lub zainstalowanymi w sklepie modułami lub motywami.

Zalecane wersje PHP dla konkretnych wersji PrestaShop możesz sprawdzić w oficjalnej specyfikacji. Z kolei zmiany wersji PHP możesz dokonać w panelu klienta swojego serwera. Zobacz, jak ustawić inną wersję PHP na serwerze w LH.pl.

Spróbuj zmienić wersję PHP na niższą lub wyższą, pamiętając jednak, aby wybierać taką wersję, która jest wspierana przez oficjalne zalecenia PrestaShop.

Jeśli wersja PHP jest zgodna z tym, co zaleca PrestaShop, a problem nadal występuje, to możliwe, że ostatnio zainstalowany motyw lub moduł nie współpracuje z wybraną wersją PHP. A to prowadzi nas do kolejnego punktu, czyli wszelkich problemów z motywami lub wtyczkami.

ZOBACZ RÓWNIEŻ

Jak zainstalować PrestaShop w LH.pl

Masz problemy z instalacją PrestaShop? Zobacz, jak zainstalować PrestaShop na hostingu w LH.pl

Sprawdź

2. Problemy z motywem lub modułami (wtyczkami) do PrestaShop

Kolejną popularną przyczyną występowania błędu z białą stroną są zainstalowane ostatnio moduły lub motywy. Mogą być one przeznaczone do starszej wersji PrestaShop niż ta, którą posiadasz, lub mogą one niepoprawnie działać na aktualnie ustawionej wersji PHP na serwerze. Istnieje też prawdopodobieństwo, że są one przestarzałe, niewspierane i mają źle napisany kod, który sprawia, że wyświetla się biała strona w PrestaShop.

Jeżeli przed pojawieniem się białego ekranu dodałeś nowy motyw lub nowy moduł, to warto spróbować je wyłączyć. Tylko jak to zrobić bez dostępu do panelu administratora? Połącz się ze swoim serwerem FTP, a następnie wejdź do katalogu z PrestaShop.

Wtyczki znajdziesz w folderze „/modules/”, natomiast motywy w folderze „/themes/”.

Zrób kopię zapasową (skopiuj na dysk) folderów z ostatnio dodanymi motywami lub modułami, a następnie usuń te pozycje z serwera. Alternatywnie, jeśli nie chcesz niczego usuwać, możesz zmienić nazwę folderu motywu lub modułu na serwerze, dopisując na końcu „_old”. W ten sposób dojdzie do wyłączenia danego modułu lub szablonu.

3. Limit pamięci i procesów PHP

Kolejne popularne przyczyny to problemy z limitami w konfiguracji PHP. PrestaShop może nie mieć do dyspozycji wystarczającej pamięci na wykonanie procesów PHP lub przekracza dozwoloną liczbę procesów na użytkownika.

3.1 Limit pamięci

W zależności od konfiguracji serwera, domyślna ilość przydzielonej pamięci może wynosić 32MB, 64MB lub 128MB. Sklep na PrestaShop powinien mieć w zanadrzu dostęp do min. 128MB pamięci na proces PHP.

Modyfikacji limitu pamięci należy dokonać w ustawieniach pliku php.ini na serwerze. W LH.pl możesz zmienić ten parametr, wprowadzając zmiany w pliku .user.ini na serwerze. Zobacz, jak zmienić ustawienia w pliku konfiguracyjnym PHP w LH.pl.

Za limit pamięci odpowiada zmienna „memory_limit”.

memory_limit = 128M

Powyższa wartość sprawi, że limit pamięci wyniesie 128MB. Jeśli chcesz zwiększyć tę wartość, możesz wpisać 256M, aby limit wynosił 256MB. Spróbuj zwiększyć limit pamięci i sprawdź, czy zmiana ta powoduje wyeliminowanie błędu z białą stroną w PrestaShop.

3.2 Limit liczby procesów

Limit liczby procesów na hostingu współdzielonym jest zazwyczaj narzucony z góry przez usługodawcę. Warto w takiej sytuacji skontaktować się z operatorem i zgłosić, że taki problem występuje. Operator przeanalizuje sytuację i podpowie, czy konieczne jest zwiększenie pakietu hostingowego, czy też może na sklepie doszło do innego błędu, który spowodował wysycenie liczby procesów i nadmierne obciążenie sklepu.

Wybierz hosting w LH.pl i pozwól swojemu sklepowi rozwinąć skrzydła!

4. Uszkodzone pliki PrestaShop

Czy wprowadzałeś ostatnio jakiekolwiek zmiany w plikach PHP sklepu? Dodawałeś lub usuwałeś jakiś kod? Jeśli tak, to mogło dojść do uszkodzenia pliku. Często jest tak, że edytując zawartość pliku PHP przypadkowo usuwamy część oryginalnego kodu. Wystarczy, że wprowadzimy błąd w składni lub zamkniemy fragment kodu w nieodpowiednim miejscu i problem gotowy.

Ilość błędów, które można wprowadzić w kodzie, jest w zasadzie nieograniczona. To może być zła składnia, brakujący znak, nieprawidłowe kodowanie przy zapisywaniu pliku. Jeśli istnieje podejrzenie, że podczas edycji plików do tego doszło, to należy przywrócić dany plik w jego oryginalnej, pierwotnej formie.

Przywracanie plików

Jeśli masz możliwość, to najprościej przywrócić ostatnio edytowanie pliki PHP z kopii zapasowej. W LH.pl każdy użytkownik ma dostęp do kopii zapasowej uwzględniającej 14 ostatnich dni. Jeśli w ciągu ostatnich dwóch tygodni strona działała dobrze, to możesz przywrócić z tej kopii pliki, które ostatnio edytowałeś na serwerze.

Alternatywnie, jeśli nie posiadasz dostępu do własnej kopii plików sklepu, możesz pobrać archiwum z czystą wersją PrestaShop z oficjalnej strony. Pamiętaj tylko, aby pobrać PrestaShop w tej samej wersji, której używasz w swoim sklepie. Następnie wypakuj pobrane archiwum z czystą wersją PrestaShop i wyszukaj w niej tych plików, które ostatnio u siebie edytowałeś na serwerze. Przekopiuj te pliki na serwer, zastępując nimi te, które zmodyfikowałeś.

5. Nieprawidłowe uprawnienia do plików i folderów PrestaShop

Błędne uprawnienia do plików lub folderów na serwerze mogą sprawić, że sklep podczas wyświetlania nie może uzyskać dostępu do wymaganych zasobów. Uprawnienia do plików możesz zmienić, korzystając z klienta FTP np. FileZilla. Prawidłowe uprawnienia dla PrestaShop to:

  • dla folderów: 755
  • dla plików: 644

Jak je zmienić? Uruchom FileZilla i połącz się ze swoim serwerem FTP. Następnie wejdź do katalogu z PrestaShop i zaznacz w nim wszystko – od katalogów po pliki.

Po zaznaczeniu wszystkiego kliknij prawym przyciskiem myszy na zaznaczonych elementach i wybierz opcję „Prawa pliku”. Wyświetli się okno z edycją uprawnień.

Zmień uprawnienia plików na 644

Najpierw zmienimy uprawnienia do wszystkich plików. W polu „Wartość numeryczna” wpisz 644, a następnie zaznacz pole „Przechodź do podkatalogów” i wybierz „Zastosuj tylko dla plików”. W ten sposób zmiana uprawnień na 644 wystąpi tylko w plikach. Kliknij OK i poczekaj na ukończenie operacji.

Następnie zmienimy uprawnienia do wszystkich folerów. Ponownie zaznacz wszystko i wywołaj opcję „Prawa pliku”. W polu „Wartość numeryczna” wpisz 755, a pod spodem zaznacz „Przechodź do podkatalogów”, po czym wybierz „Zastosuj tylko do katalogów”.

Zmień uprawnienia folderów na 755

Zatwierdź zmiany przyciskiem OK. W ten sposób zmiana uprawnień na 755 dotknie tylko folderów i nie naruszy zmian, które wprowadziliśmy przed chwilą w plikach.

6. Przekroczony limit połączeń do bazy danych

Biała strona w PrestaShop może pojawić się także wtedy, gdy sklep przekroczy limit połączeń do bazy danych. Komunikowany on jest białą stroną, na której wyświetla się tylko w rogu ekranu tekst:

PrestaShop Fatal error: no utf-8 support. Please check your server configuration

Mogłoby się wydawać po komunikacie, że problem dotyczy braku wsparcia dla kodowania UTF-8, jednak w rzeczywistości ten komunikat zazwyczaj oznacza, że PrestaShop nie może wykonać zapytań do bazy i wyświetla taki błąd. Powodem może być limit połączeń do bazy danych.

Jeżeli masz serwer VPS, Cloud lub dedykowany, to możesz samemu zmienić limit połączeń do bazy danych w konfiguracji MySQL. Odpowiada za to poniższa opcja:

max_questions = 0

W LH.pl odpowiednia wartość jest ustawiona domyślnie, ale jeżeli masz hosting u innego operatora, to konieczna może być samodzielna zmiana. Jeżeli nie masz opcji zmiany, to zachęcamy do kontaktu z usługodawcą lub przeniesienie sklepu na inny hosting.

7. Brakujące rozszerzenia PHP

Biała strona w PrestaShop może się pojawić także wtedy, gdy na serwerze brakuje odpowiednich rozszerzeń PHP. PrestaShop do działania wykorzystuje rozszerzenia PHP, za pomocą których wykonuje określone funkcje (np. generuje miniatury zdjęć, pobiera moduły i ich aktualizacje, przetwarza pliki XML itp.). Według oficjalnych zaleceń, wymagane są następujące rozszerzenia:

  • CURL
  • DOM
  • Fileinfo
  • GD
  • Intl
  • Mbstring
  • Zip

To, czy są one obsługiwane, możesz sprawdzić za pomocą prostego pliku PHP. Uruchom systemowy Notatnik, a następnie wklej w nim poniższą treść:

<?
phpinfo();
?>

Zapisz plik jako np. „phptest.php” i wyślij ten plik do głównego katalogu PrestaShop. Następnie w przeglądarce wywołaj ten plik, wpisując adres według poniższego schematu:

adres-witryny.pl/phptest.php

Wyświetli się ekran z podsumowaniem konfiguracji PHP. Na liście dostępnych rozszerzeń możesz sprawdzić, czy powyższe pozycje są włączone. Wyszukaj każdego z tych rozszerzeń, a następnie zobacz, czy w tabeli szczegółami informacja o wsparciu (np. „GD support”) ma wartość „Enabled”.

Biała strona w PrestaShop - sprawdź rozszerzenia PHP

Jeśli nie, to skontaktuj się z usługodawcą aby dowiedzieć się, czy jest możliwość ich włączenia. W przypadku LH.pl hosting spełnia wszystkie powyższe wymagania w konfiguracji PHP.

Technikalia Cię przytłaczają? Wybierz hosting w LH.pl i śpij spokojnie!

8. Biała strona w PrestaShop nadal się wyświetla? Włącz tryb debugowania

Jeżeli żadna z powyższych sugestii nie pomogła, to warto dowiedzieć się nieco więcej o tym, co się dzieje na stronie. Nawet jeśli nie znasz się na analizowaniu błędów w PrestaShop, to konkretne komunikaty błędów (zamiast białej strony) okażą się pomocne np. w poszukiwaniu pomocy na grupach, forach czy u usługodawcy. W tym celu należy włączyć tryb debugowania.

W trybie debugowania sklep oprócz białej strony wyświetli też komunikaty, które ułatwią znalezienie przyczyny problemów. Jak go włączyć?

Zaloguj się na serwer FTP i otwórz plik „config/defines.inc.php” za pomocą dowolnego edytora tekstu typu Notatnik. W pliku tym znajdziesz poniższą linię:

define(‘PS_MODE_DEV’, false);

Zmień wartość tej opcji z „false” na „true”, czyli:

define(‘PS_MODE_DEV’, true);

Zapisz zmiany w pliku. Teraz po odświeżeniu sklepu na białym tle powinna wyświetlać się dodatkowa informacja, która ułatwi zdiagnozowanie problemu i znalezienie przyczyny jego występowania.

Zapisz się do newslettera!

Chcesz brać udział w naszych webinarach na żywo i otrzymywać raz w miesiącu porady optymalizacyjne? Dołącz do naszego newslettera.

Default image
Błażej Starosta
Wieloletni webmaster, tworzący serwisy przy użyciu popularnych CMS typu WordPress oraz Prestashop. Ma doświadczenie w prowadzeniu sklepów internetowych i stara się być na bieżąco ze wszystkimi nowinkami technologicznymi. Uwielbia dzielić się swoją wiedzą, zawsze chętnie pomoże rozwikłać problemy.

komentarze 2

  1. Dzień dobry
    Mamy serwer u Państwa i jakiś miesiąc temu pomógł mi Pan w nurtującym problemie z prestashop – nieprawidłowo na zapleczu sklepu wyświetlały się listy wyboru – wszystkie opcje jakby pokazywały się naraz i nie można było wybrać nic.
    Obecnie poleciłem znajomemu również waszą firmę – wykupił serwer postawił prestashop i występuje dokładnie taki sam problem :(( – czy jest jakaś szansa na kontakt z Panem i ponowną pomoc ??

    • Błażej Starosta
      Błażej Starosta

      Dzień dobry,
      Jeśli dobrze pamiętam, to problem ten wynika z niekompatybilnej wersji PHP ustawionej na serwerze. Konkretnie mówiąc – ustawiona jest zbyt wysoka wersja PHP. PrestaShop, niestety, ma nieco opóźniony tryb wydawniczy, przez co obecne wersje nie są kompatybilne z najnowszym PHP. Rozwiązaniem jest zmiana wersji PHP w panelu klienta LH.pl na niższą.

      Dla PrestaShop w wersjach od 1.6.1.x do 1.7.4 – PHP 7.1
      Przy PrestaShop w wersjach 1.7.5 oraz 1.7.6 – PHP 7.2
      W PrestaShop w wersji 1.7.7 – PHP 7.3

      Instrukcja, jak zmienić wersję PHP: https://pomoc.lh.pl/zmiana-wersji-php/

Zostaw komentarz