500
Критично — не откладывайте

Ошибка 500 — CMS и хостинг

Что это значит

Код 500 (Internal Server Error) — это общая ошибка сервера, которая возникает, когда веб-сервер столкнулся с непредвиденным условием, не позволяющим выполнить запрос. В системе происходит сбой на стороне сервера: скрипт (например, PHP) завершается аварийно, база данных не отвечает, или конфигурация сервера нарушена. Пользователь видит пустую страницу или сообщение «500 Internal Server Error» в браузере. Ошибка не связана с клиентом — проблема полностью на стороне хостинга или CMS.

Вероятные причины

  • Ошибка в файле .htaccess (неправильные директивы)
  • Превышение лимита памяти PHP (memory_limit)
  • Несовместимость версий PHP и CMS/плагинов
  • Повреждённые файлы ядра CMS или плагинов
  • Сбой в работе базы данных (например, превышение лимита соединений)
  • Некорректные права доступа к файлам и папкам
  • Проблемы с кэшем (например, повреждённый кэш опкода)
  • Исчерпание дискового пространства на сервере

Что делать — по порядку

  1. Проверьте файл .htaccess: временно переименуйте его (например, в .htaccess_old) и проверьте, исчезла ли ошибка.
  2. Включите отображение ошибок PHP: добавьте в index.php строки error_reporting(E_ALL); ini_set('display_errors', 1); — это покажет конкретную причину.
  3. Проверьте логи ошибок сервера (error_log в корне сайта или панели хостинга) — там будет точное описание.
  4. Увеличьте лимит памяти PHP: в wp-config.php (для WordPress) добавьте define('WP_MEMORY_LIMIT', '256M'); или измените в php.ini.
  5. Проверьте права доступа: файлы должны быть 644, папки 755, владелец — пользователь хостинга.
  6. Отключите все плагины/модули: переименуйте папку plugins (для WordPress) или отключите расширения вручную.
  7. Проверьте свободное место на диске: если диск заполнен, освободите его (удалите временные файлы, логи).
  8. Обратитесь в техподдержку хостинга — возможно, проблема на уровне сервера (например, сбой PHP-FPM).

Нажимайте на пункты, чтобы отмечать выполненные.

Частые вопросы

Что делать, если ошибка 500 появилась после обновления плагина?

Отключите плагин через FTP: переименуйте папку плагина в /wp-content/plugins/. Если ошибка исчезла — плагин несовместим, обновите его или найдите альтернативу.

Как найти точную причину ошибки 500, если нет доступа к логам?

Включите отображение ошибок PHP через файл .htaccess: добавьте строки php_flag display_errors on и php_value error_reporting 32767. Если не помогает, создайте php-файл с <?php phpinfo(); ?> — если он работает, проблема в CMS.

Может ли ошибка 500 быть вызвана проблемами с хостингом?

Да, часто причина в перегрузке сервера, неверных настройках PHP или сбое MySQL. Обратитесь в поддержку хостинга с просьбой проверить логи.

Почему ошибка 500 появляется только на некоторых страницах?

Это указывает на проблему в конкретном скрипте или шаблоне. Проверьте логи — там будет указан путь к файлу, вызывающему ошибку.

Как исправить ошибку 500 из-за .htaccess?

Переименуйте .htaccess в .htaccess_old. Если сайт заработал, создайте новый .htaccess с базовыми правилами (например, для WordPress: # BEGIN WordPress и стандартные RewriteRule).

Источники