Ошибка 500 или 503 на сайте: откуда берутся и как их устранить
ПечатьКоротко: ошибка 500 означает, что сервер не смог выполнить запрос сайта: в PHP-коде есть ошибка, в .htaccess неверное правило или у файлов неправильные права. Ошибка 503 говорит о том, что сайт временно недоступен, чаще всего потому, что он израсходовал свои ресурсы. В обоих случаях первую подсказку даёт журнал ошибок в cPanel.
Как отличить одну ошибку от другой
- 500 Internal Server Error появляется при каждой перезагрузке страницы и часто возникает сразу после изменений: обновления плагина, правки
.htaccess, смены версии PHP. - 503 Service Unavailable то появляется, то пропадает. Обычно это происходит при росте посещаемости, во время работы задания по расписанию или при активном обходе сайта ботами, а затем ошибка исчезает, когда нагрузка снижается.
- 524 бывает только у сайтов, подключённых через Cloudflare: Cloudflare не дождался ответа сервера, потому что скрипт выполняется слишком долго или аккаунт перегружен.
Первый шаг в любом случае: журнал ошибок
В cPanel откройте Metrics, затем Errors. Там собраны последние ошибки веб-сервера по Вашему аккаунту. Ошибки PHP также записываются в файл error_log в папке сайта; его можно открыть в File Manager. Запомните время, когда появилась ошибка, и ищите строки за ту же минуту. Как читать такие строки, рассказано в статье об error_log и плагинах, вызывающих ошибки.
Как устранить ошибку 500
- Плагин или тема. Если в журнале указан файл из
wp-content/pluginsилиwp-content/themes, отключите этот компонент. Это можно сделать и без входа в админку WordPress, как описано в инструкции по error_log. - Файл .htaccess. Временно переименуйте его, например в
.htaccess-old, и обновите страницу. Если сайт открылся, дело в одном из правил этого файла. В WordPress чистый файл создаётся из админки: Settings, затем Permalinks, затем кнопка сохранения. Для других CMS воспользуйтесь примерами .htaccess для популярных CMS. - Права доступа. Обычно у файлов права 644, у папок 755. PHP-файл с правами 777 может вызывать ошибку 500. Права меняются в File Manager: правый клик, затем Change Permissions.
- Версия PHP. Старый плагин может не работать на новой версии PHP, а новый может требовать более свежую. Выберите версию, которую рекомендует Ваша CMS, по статье о выборе версии PHP.
- Восстановление. Если ошибка появилась после обновления, а причину найти не удаётся, верните сайт в прежнее состояние с помощью JetBackup 5.
Как устранить ошибку 503
- В cPanel откройте Metrics, затем Resource Usage, и проверьте, не упёрся ли аккаунт в лимит в момент ошибки. Что означает каждый лимит, объясняется в статье о Resource Limit Is Reached.
- Откройте Cron Jobs и поищите задания, которые дублируются или запускаются слишком часто, например каждую минуту.
- Проверьте, не нагружают ли сайт боты: как их распознать и ограничить.
- Подождите несколько минут и обновите страницу. Если после устранения причин ошибка всё равно часто возвращается, сайту нужно больше ресурсов; смотрите, как сменить тарифный план.
Когда стоит написать нам
Если журнал пуст или Вы не уверены, на чьей стороне проблема, на сервере или в сайте, откройте тикет. Укажите адрес страницы, точное время ошибки и последнее, что Вы меняли. Зная точное время, мы гораздо быстрее найдём нужные записи в журналах сервера.