Перейти к содержимому

Ошибка 500 на сайте

Хостинг и cPanel2 мин чтения

Что значит 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. Если сайт взломан и в файлах чужой код — Сайт взломали: что делать.

Не нашли ответ? Напишите в поддержку — подскажем.