Логин:
Пароль:

Ошибка 500 на Wordpress – ищем решение!

Иногда на сайтах с системой Wordpress может появиться ошибка 500. Данную ошибку зачастую можно исправить достаточно просто. Для начала необходимо проверить лог ошибок сайта (предварительно включив его, если он отключен). В большинстве случаев в логе сайта будет указана причина данной ошибки. Большая вероятность, что ошибка будет вызвана неверным редактированием файла .htaccess. Поэтому, ко всему прочему, первым делом необходимо переименовать файл .htaccess в save.htaccess.

Если же ошибки в логе работы сайта нет, то проблема становится уже сложнее. Прежде следует определить, в каком режиме работает PHP через функцию phpinfo(). Для этого нужно создать файл infophp.php, где прописать:

<?php
phpinfo();
?>

Если при вызове этого файла вы по-прежнему видите ошибку 500, при этом уже переименовали файл .htaccess в save.htaccess, а в логе ошибок сайта по-прежнему пусто, то на 99,9% это может нам сказать о глобальной ошибке на хостинге в настройке веб-сервера, и для ее решения необходимо обращаться в техническую поддержку или копаться в проблеме самостоятельно, если у вас сервер или VPS.

Если же этот файл открылся, то мы смотрим на строку Server API. Если в этой строке указано «Apache x.x Handler», то опять же необходимо обращаться в техническую поддержку хостинга, т.к. это нам говорит о какой-то глобальной проблеме, логи которой можно увидеть только имея доступ администратора к серверу.

Если же в этой строке указано, что-то отличное от «Apache x.x Handler», особенно CGI или CGI/FastCGI, то ошибку необходимо искать в логе error_log или error.log, находящемся в корневой директории сайта, т.к. в данном случае PHP работает в режиме CGI. А особенность данного режима работы состоит в том, что при ошибках php-кода на сайте вылетает ошибка 500. Кстати, большая вероятность, что название лога при этом будет указано в строке infophp.php функции phpinfo() с названием «error_log».

Также необходимо убедиться в том, что у Вас включен показ всех значимых ошибок PHP. Для режима «PHP модуль apache» (Apache x.x Handler) отображение ошибок включается через .htaccess строкой:

php_value error_reporting "E_ALL & ~E_NOTICE"

Для режима PHP-CGI необходимо узнать расположение файла php.ini, и в него прописать:

error_reporting= "E_ALL & ~E_NOTICE"

Если же Вы администратор сервера или VDS, то при отсутствии ошибок в логах работы сайта и в логах PHP, необходимо смотреть логи веб-сервера, которые зачастую располагаются в директории /var/log/httpd или /var/log/nginx. Более точно расположение можно узнать из файла конфигурации apache или nginx.