Я получаю внутреннюю ошибку сервера 500
Обновлено 4 месяца назад к Тристан Пейн
Если вы видите внутреннюю ошибку сервера (код состояния http 500), это означает, что что-то, вероятно, пошло не так на сервере веб-сайта, однако обычно не отображается конкретное сообщение об ошибке, чтобы определить точную проблему. Это может быть что угодно: от исчерпания памяти вашими процессами, неправильного синтаксиса PHP или сбоя сервера.
Перед отладкой и проверкой всегда стоит принудительно обновить/перезагрузить веб-страницу. Это можно сделать в Windows с помощью CTRL + F5
или в AppleOS с помощью Apple + R
.
Если вы являетесь разработчиком/веб-мастером
Чаще всего внутренняя ошибка сервера возникает из-за того, что ваш веб-сайт отправляет сообщение об ошибке на сервер. Наиболее распространенные причины этого:
У вас есть ошибка в вашем код
Если PHP сталкивается с ФАТАЛЬНОЙ ошибкой, которую невозможно обработать, вы получите ошибку 500. Если вы разрабатываете веб-сайт, то это, вероятно, ваша первая остановка на пути исправления ошибок. Проверьте файлы error_log на наличие подсказок.
Если вы используете систему управления контентом (CMS), такую как WordPress, это может указывать на проблему с вашей темой или плагином — попробуйте отключить все плагины, посмотрите, исчезнет ли проблема — если да, повторите попытку. включайте по одному, пока проблема не вернется, чтобы определить вероятного виновника. Вы также можете включить режим wp-debug, который может показать ошибку, которая даст вам понять, что работает неправильно.
Тайм-ауты сайта
Это могут быть внутренние или внешние ресурсы, которые извлекает код вашего сайта и которые не могут завершить исполняемый код. Лучший способ решить эту проблему — добавить необработанный метод отладки в код вашего сайта, чтобы вы могли узнать, какой процесс в вашем скрипте вызывает «зависание» сайта.
Синтаксическая ошибка или запрещенная директива в файлах .htaccess
Синтаксическая ошибка в файле .htaccess
почти всегда вызывает внутреннюю ошибку сервера 500. Самый простой способ убедиться, что это связано с .htaccess
, — просто переименовать файл во что-то другое и обновить страницу сайта.
Общие директивы, которые Krystal не разрешает в файлах .htaccess
:
FollowSymLinks
— если вам нужно использовать это, замените его на SymLinksIfOwnerMatch
— делает то же самое, но более безопасно.
php_flag
php_value
php_admin_flag
php_admin_value
— не используйте их в .htaccess
, так как они выдадут ошибку.
Для скрипта PHP были установлены неверные разрешения
Если вы не знакомы с разрешениями для сайта, скорее всего, вам не захочется их менять, так как это может вызвать много проблем. Общее эмпирическое правило заключается в том, что если ваши разрешения заканчиваются на 7, 6, 3 или 2, ваш сайт, скорее всего, покажет ошибку 500 из-за наших мер безопасности, которые не позволяют пользователям записывать файлы.
У нас есть отдельное руководство по установке правильных прав доступа к вашим веб-файлам.
Ваша учетная запись превысила разрешенную долю ресурсов сервера
PHP-скрипты часто нуждаются в оптимизации, чтобы они не превышали ресурсы, назначенные вашей учетной записи cPanel. Если вы видите, что ресурсы в cPanel достигают пика или достигают максимальной емкости, вы можете внести несколько изменений, например, поразить свои задания cron. Пожалуйста, прочитайте нашу статью о том, как проверить использование ресурсов вашей учетной записи.
Если вы используете WordPress, вам может потребоваться отключить WordPress CRON и настроить настраиваемые задачи cPanel CRON.
Если вы не являетесь разработчиком/веб-мастером или у вас возникли проблемы
Попробуйте выполнить шаги, описанные выше, с помощью наших различных руководств, которые должны помочь вам лучше понять ошибку, и если вы можете это исправить, если вы у вас все еще есть проблемы, свяжитесь с нами, мы можем проверить, есть ли что-то явно очевидное или это на стороне сервера, если это не так. Возможно, стоит восстановить из резервной копии.
Если это не сработает, вам потребуется, чтобы разработчик просмотрел код вашего сайта. Мы сделаем все возможное, чтобы предоставить вам любые коды ошибок и указать вам правильное направление.
Сообщение об внутренней ошибке сервера | Поддержка Tiger Technologies
Если вы используете сценарий, который отображает сообщение «500 Internal Server Error», это обычно означает наличие проблемы или ошибки в используемом вами сценарии (например, в плагине или теме WordPress).
Вы часто можете найти более подробную техническую информацию в журнале ошибок для вашего сайта. Чтобы просмотреть последние строки из журнала ошибок:
- Вход в панель управления «Моя учетная запись» (есть проблемы?)
- Нажмите Статистика и журналы
- Просмотр раздела «Журналы ошибок веб-сайта»
(Старые записи журнала ошибок также доступны через FTP или оболочку Unix.)
Остальная часть этой страницы содержит дополнительные советы:
- Отображение подробностей сообщения об ошибке в браузере с помощью сценариев PHP
- Получение дополнительной информации о сценариях Perl или Python
- Другие причины внутренних ошибок сервера
Отображение подробностей сообщения об ошибке в браузере с PHP-скриптами
Рабочие серверы PHP больше не отображают ошибки в браузере по умолчанию из соображений безопасности, как описано на этой странице.
В некоторых ситуациях PHP даже возвращает фальшивую «500 Internal Server Error» и отображает пустую страницу, когда возникает проблема, вместо того, чтобы показывать вам ошибку.
Вы можете добавить эту строку в настройки php.ini, чтобы вместо этого видеть ошибки в браузере:
display_errors = Вкл.
Но имейте в виду, что если сообщения об ошибках содержат какую-либо конфиденциальную информацию (например, пароли), это может позволить другим людям увидеть эту информацию. Вы должны отключить этот параметр, когда устраните проблему.
Получение дополнительной информации о сценариях Perl или Python
При использовании сценариев Perl или Python распространенной причиной появления сообщения «Внутренняя ошибка сервера» является то, что вы загрузили сценарий в неправильном «режиме» в свою FTP-программу.
Наша программа проверки сценариев CGI сообщит вам, если сценарий был загружен в неправильном режиме. Если это проблема, см. документацию, прилагаемую к вашей FTP-программе, чтобы узнать, как изменить режим, а затем повторно загрузите свой сценарий.
(Средство проверки сценариев также может обнаруживать другие распространенные проблемы, такие как неправильный «путь» в первой строке сценария. В случае возникновения проблем всегда сначала используйте средство проверки сценариев.)
Если это не помогло, и ваш сценарий написан на Perl или Python, вы можете немного изменить сценарий, чтобы ваш веб-браузер показывал реальную ошибку. Подробные инструкции см. в разделах нашей страницы Perl и страницы Python, в которых обсуждаются внутренние ошибки сервера. У нас также есть дополнительные советы по отладке Perl-скриптов.
Другие причины внутренних ошибок сервера
Другой распространенной причиной сообщений о «внутренней ошибке сервера» является создание файла .