Od miesiąca borykałem się z błędem “Internal Server Error 500” w skrypcie WordPressa (wersja 3.8.x). Problemu nie udało mi się rozwiązać ale udało się go obejść.

500-internal-server-error

Problem objawia się komunikatem o błędzie Internal Server Error 500 (patrz zdjęcie). Error wyskakuje podczas przeglądania niektórych podstron zaplecza (np. wp-admin/update-core.php) ale tylko gdy wyłączymy przyjazne link.

Gdy opcja przyjaznych linków jest włączona dostajemy komunikat że strony nie odnaleziono (wyrzuca nas z panelu admina).

Podczas szukania rozwiązania sprawdziłem następującą listę potencjalnych problemów:

  • uszkodzony plik .htaccess
  • zwiększenie limitu pamięci dla skryptów PHP, zmienna (‘WP_MEMORY_LIMIT’, ’64M’); w pliku wp-config.php
  • przełączenie się na domyślny wygląd/theme
  • tymczasowe wyłączenie pluginów (przeniesienie ich do innego katalogu)
  • nadpisanie plików wordpressa z nowej instalacji (nadpisujemy wszytko poza folderem wp-content)
  • ręczny upgrade (do wersji 3.9) i downgrade (do wersji 3.7.x)
  • włączenie tryby debugowania w WordPressie oraz raportowania błędów PHP

Niestety nic z tego nie pomogło i problem nadal wstępował (trudno było szukać przyczyny błędu, nie mając punktu zaczepienia). Próbowałem także kontaktować się z firmą hostingową celem przejrzenia logów ale wiadomo jak to jest…

Aż w końcu postanowiłem zmienić wersję interpretera języka PHP z wersji 5.2.17 na wersję 5.4.25 i problem ustąpił (nie występuje także w wersji 5.3.28).

Nie wiem co tam chłopaki z WordPressa naskrobali ale jeśli masz podobny problem i spr. już rzeczy z powyższej listy to sprawdź czy Twój hosting pozwala na zmianę wersji PHP.