Что значит 500 Internal Server Error, где на хостинге и своём сервере смотреть журнал ошибок и как найти причину: PHP, .htaccess, версия PHP, память, плагины WordPress.
500 Internal Server Error — общая ошибка сервера: при обработке страницы что-то пошло не так, а что именно, сервер посетителю не говорит. Ответ почти всегда есть в журнале ошибок.
Если вы посетитель
Сделать ничего не получится — ошибка на стороне сайта. Попробуйте позже или сообщите владельцу сайта.
Где смотреть журнал
- Хостинг: в cPanel раздел Errors — последние ошибки сайта. Ошибки PHP ещё записываются в файл
error_logв папке со скриптом — откройте его в File Manager. - Свой сервер:
/var/log/nginx/error.logили/var/log/apache2/error.log(в AlmaLinux —/var/log/httpd/error_log), журнал PHP-FPM —journalctl -u php8.4-fpm.
Откройте страницу ещё раз и сразу посмотрите журнал — нужная строка будет последней.
Частые причины
| Строка в журнале или признак | Что сделать | |||
|---|---|---|---|---|
PHP Fatal error | с именем файла и строки | ошибка в коде — чаще всего после обновления плагина или темы; верните прежнюю версию или отключите плагин | ||
Allowed memory size … exhausted | не хватает памяти PHP — увеличьте memory_limit в настройках PHP (в cPanel — MultiPHP INI Editor) | |||
Invalid command | или | .htaccess: … not allowed here | неверная строка в .htaccess — уберите её или временно переименуйте файл: | Файл .htaccess |
| сайт сломался после смены версии PHP | верните версию, с которой сайт работал: | Версия PHP для сайта | ||
| ошибка в CGI-скрипте | права и окончания строк: | Права на файлы, CGI-скрипты |
WordPress
Если сайт упал после установки или обновления плагина, отключите все плагины разом: переименуйте папку wp-content/plugins, например в plugins.off. Заработало — верните имя и включайте плагины по одному в админке.
Подробный журнал WordPress включается в wp-config.php:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );Ошибки будут записываться в wp-content/debug.log, а посетители их не увидят. Когда найдёте причину, выключите отладку.
На своём сервере
Проверить файл PHP на синтаксические ошибки: php -l index.php. Если PHP-FPM не запущен, nginx отдаст не 500, а 502 — Ошибка 502 Bad Gateway. Если сайт взломан и в файлах чужой код — Сайт взломали: что делать.
Не нашли ответ? Напишите в поддержку — подскажем.


