Перейти к содержанию

Внутренняя ошибка сервера — 500⚓︎

Сервер столкнулся с внутренней ошибкой или неправильной конфигурацией и не смог выполнить ваш запрос.

Пожалуйста, свяжитесь с администратором сервера в webmaster@localhost, чтобы сообщить ему о времени возникновения этой ошибки и действиях, которые вы выполнили непосредственно перед этой ошибкой.

Дополнительные сведения об этой ошибке можно найти в журнале ошибок сервера. Apache/2.4.7 Server на localhost Port 80

Эта ошибка может быть вызвана следующими причинами:

  • неправильная конфигурация сервера (httpd.conf)
  • проблемы с htaccess
  • mod_security или похожие

Проверьте работоспособность PHP⚓︎

Первое, что вы должны сделать, это убедиться, что PHP работает правильно на вашем сервере, и Grav не является прямой причиной проблемы. Чтобы проверить это, просто создайте временный файл (удалите его впоследствии для безопасности!) в корневом каталоге вашего сайта, под названием info.php. Этот файл должен содержать следующий PHP код:

<?php phpinfo();

Затем наведите браузер на этот файл: http://yoursite.com/your_grav_directory/info.php. Вы должны получить страницу отчёта, содержащую всю информацию, связанную с конфигурацией PHP, включая загруженную версию и расширения.

Проверьте разрешения⚓︎

Ошибка 500 может быть вызвана неправильными разрешениями. Проверьте руководство по разрешениям

Создать issue⚓︎

Некоторые люди, которые недавно обновились до PHP 5.5 с версии 5.4 или 5.3, всё ещё могут иметь некоторые устаревшие настройки в своем файле php.ini. Одним из элементов, который может вызвать внутреннюю ошибку сервера 500, является параметр register_globals. Просто удалите или закомментируйте строку:

register_global = On

Затем перезапустите сервер Apache.

ThreadStackSize в Windows⚓︎

Если ваш сервер работает под управлением Windows, вы можете получить внутреннюю ошибку сервера 500 из-за того, что размер ThreadStackSize слишком мал. Просто добавьте этот код в конец вашего файла httpd.conf:

<IfModule mpm_winnt_module>
  ThreadStackSize 8388608
</IfModule>

Затем перезапустите сервер Apache.

Options -Indexes⚓︎

Grav использует параметр -Indexes, чтобы не отображать каталоги папок. Некоторым хостам не нравится, что Apache .htaccess манипулирует настройкой Options.

Мы видели отчёты о том, что просто закомментировав эту строку в файле Grav .htaccess, можно решить проблемы с ошибкой внутреннего сервера для пользователей в этой ситуации:

# Prevent file browsing
#Options -Indexes

Проблемы с RewriteBase⚓︎

Получили несколько отчётов о внутренних ошибках сервера 500 без настройки RewriteBase? Попробуйте изменить

# RewriteBase /

на

RewriteBase /

При навигации по административной панели Grav в левом верхнем углу появляется сообщение Внутренняя ошибка сервера. Это связано с неправильными разрешениями для вашей папки /cache.

Внутренняя ошибка сервера

Если эта ошибка появляется, скорее всего, вы не установили правильное разрешение для папки /cache, вместо того, чтобы просто сделать папку доступной для записи, вам нужно сделать её рекурсивной для записи. Выполнение приведенной ниже команды из каталога Grav должно решить проблему.

sudo chmod 755 cache/ -R