Press "Enter" to skip to content

Aktualizacja sklepu PrestaShop z 1.6 do 1.7 i błąd „Internal Server Error ” jqXHR: – możliwe przyczyny

Admin 0

Jak się dokładnie objawia ten błąd?

Błąd występuje podczas próby aktualizacji sklepu w wersji PrestaShop 1.6 do 1.7 poprzez moduł „Aktualizacja 1 kliknięciem” (nazwa kodowa: autoupgrade). Chodzi przeważnie o wersję v4.14.3. Podczas próby aktualizacji do wersji 1.7 pojawia się problem:

All files upgraded. Now upgrading database...

[Ajax / Server Error for action upgradeDb] textStatus: "error " errorThrown:"Internal Server Error " jqXHR: "

500 Server Error

Oops, something went wrong.

Try to refresh this page or feel free to contact us if the problem persists.

Strona modułu zostaje dziwacznie zawężona, proces akutalizacji zostaje przerwany, a sklep po przeładowaniu jest uszkodzony. Kompletnie nie da się zalogować do admina ani wejść na stronę sklepu.

Zastanówmy się co może być przyczyną błędu?

Możliwe przyczyny błędu

Struktura tabel w bazie danych odmienna od oryginalnej

Jeśli na sklepie są zainstalowane specyficzne moduły, które dodają nowe kolumny do tabel produktowych czy innych może to być przyczyną błędu. Najlepiej wyeksportować bazę w PhpMyAdmin bez danych. Tzn. samą strukturę:

Następnie taki plik tekstowy porównać z analogicznym plikem eksportu z „pudełkowej” instalacji PrestaShop o tej samej wersji. Jakimś programem do porównywania 2 plików tekstowych. Np. w edytorze Eclipse – poprzez SVN. Wtedy łatwo można zobaczyć nadmiarowe kolumny w kluczowych tabelach.

Zmiana wersji PHP i inne parametry serwera.

  • Ustaw wersję php 7.3, jeśli chcesz podnieść sklep do wersji 1.7.
  • Sprawdź też limit pamięci – najlepiej aby miał: 128M
  • Maksymalny czas wykonywania: 180

Lokalne archiwum w module autoupgrade

Wykonaj aktualizację przez lokalne archiwum ZIP. Chodzi o to ustawienie:

Jednak najpierw należy pobrać plik do wskazanej lokalizacji inaczej – pojawi się błąd:

Niestandardowe moduły

Usuń jak najwięcej niestandarowych modułów – może nastąpić próba ich aktualizacji, która zawiedzie. Najlepiej zostaw tylko moduły od PrestaShop a dla 1.7 (lub 8.x) przygotuj moduły które są do nich już dostosowane.

Wybór przeglądarki

Spróbuj wykonać to w Google Chrome. Może być ona mniej podatna na wysypanie się błędów podczas akutalizacji.

Debugowanie

Włącz debugowanie i pokazywanie błędów. Wykonasz to w pliku wkazanym w tym artykule:

Jak wyłączyć >Tryb Debugowania< którego włączenie – kompletnie blokuje nam administrację sklepu? (oraz cały sklep dla klientów!)

Błędy włączysz też w tym samym pliku:

PrestaShop 1.6.x – błąd na sklepie – biała strona, do zaplecza można się zalogować, pojawia się błąd Call to a member function rowCount()

Niepoprawne dane w tabelach

Jeśli ww. sposoby zawiodą – spróbuj usunąć przed aktualizacją dane na których nie będzie Ci zależeć. Np. zamówienia (jeśli mają być zliczane od nowa). Po prostu wyczyść w PhpMyAdmin tabele zaczynające sie od nazw ps_order*

Konkluzja

Proces aktualizacji ze starych wersji PrestaShop jest dość zawily i niewdzięczny. Wymaga też wykonania odp. kopii bezpieczeństwa oraz niesłychanej precyzji. Rozważ skorzystanie z naszej oferty przy wykonaniu takiego zlecenia. Nasz zespół wykonywał akutalizacje już od PrestaShop 1.3 (!). Więc widzieliśmy różne cuda 😉

W powyższym zamówieniu możesz określić wersję PrestaShop oraz inne usługi. Wycena jest orientacyjna. Zapraszamy do kontaktu bezpośredniego.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Zobacz także !
Jak "ręcznie" zainstalować GTM w Twoim sklepie PrestaShop 8.x ?