Как исправить ошибку 500
Страницу с кодом ответа 500 веб-сервер возвращает, когда не может обработать запрос из-за ошибок в файлах сайта.
Внешний вид ошибки 500 зависит от того, чем она вызвана. При неполадках в скриптах сайта отобразится пустая страница, сообщение HTTP ERROR 500 или текст обработчика PHP.
Если проблема в файле .htaccess — сообщение Internal Server Error.
Часто ошибку 500 можно легко устранить даже не имея знаний в области веб-разработки. О том, как это сделать, расскажем далее.
Ошибки в файле .htaccess
Сообщение Internal Server Error выводится, когда в файле .htaccess есть ошибки. Переименуйте файл .htaccess и проверьте корректность работы сайта. Если он доступен, удалите правила, которые были добавлены последними, или восстановите старый файл из резервной копии.
Ошибки в скриптах сайта
Пустая страница — не всегда признак ошибки 500. Поэтому в первую очередь узнайте код ответа, с которым она открывается. Это можно сделать при помощи инструментов разработчика в браузерах.
Инструменты разработчика — функция для исследования работы сайта. Она позволяет узнать время ответа сервера, код ответа, посмотреть текст возникших ошибок и многое другое.
Нажмите сочетание клавиш Ctrl+Shift+I или используйте меню браузера:
- Mozilla Firefox — «Веб-разработка» → «Инструменты разработчика»;
- Google Chrome — «Дополнительные инструменты» → «Инструменты разработчика»;
- Opera — «Разработка» → «Инструменты разработчика».
Перейдите во вкладку «Сеть (Network)». На ошибку 500 указывает соответствующее число в колонке «Статус».
Статус пустой страницы может быть и 200 (Ok). В таком случае проверьте, есть ли содержимое в индексном файле сайта, очистите кеш вашей CMS. Если ранее сайт работал корректно, восстановите его из резервной копии.
Вывод ошибок на сайте
Вывод ошибок PHP на хостинге по умолчанию выключен. Чтобы увидеть их текст, добавьте в файл .htaccess правило: php_value display_errors 1 и обновите страницу сайта.
Если текст не отобразился, включите вывод ошибок через конфигурационный файл CMS. Он расположен в корневой директории сайта.
WordPress
Замените в файле wp-config.php строку define(‘WP_DEBUG’, false); на define(‘WP_DEBUG’, true);
Joomla
Измените значение переменных debug и error_reporting в configuration.php на: public $debug = ‘1’; и public $error_reporting = ‘maximum’;
1С-Битрикс
В конфигурационном файле по пути ~/public_html/bitrix/php_interface/dbconn.php замените значение переменных DBDebug и DBDebugToFile на: $DBDebug = true; и $DBDebugToFile = true;
Laravel
В файле .env измените APP_DEBUG=false на APP_DEBUG=true
Алгоритм устранения ошибки можно найти в интернете, поместив ее текст в строку любой поисковой системы. Если с помощью найденной информации возобновить работу сайта не получится, восстановите его из резервной копии. Наши специалисты могут помочь с восстановлением. Для этого направьте обращение из раздела «Поддержка» Панели управления.
Журнал ошибок PHP
Иногда ошибка не выводится на странице или возникает периодически: ее тяжело отследить. Чтобы узнать текст таких ошибок, записывайте информацию о них в файл — журнал ошибок PHP. Подключите его, добавив в .htaccess строку: php_value error_log /home/username/domains/domain.ru/php_errors.log и обновите страницу сайта.
Откройте создавшийся файл журнала с помощью Файлового менеджера в Панели управления. Чтобы просматривать возникающие ошибки в реальном времени, отметьте опцию «Включить автообновление».
Быстро возобновить работу сайта можно, восстановив его из резервной копии за дату, когда ошибок не было. Если восстановление нежелательно, обратитесь к разработчику.
Для устранения некоторых ошибок не требуется специальных знаний. Рассмотрим самые распространенные.
Нехватка оперативной памяти
Ошибка с текстом Allowed memory size возникает из-за нехватки оперативной памяти для выполнения скрипта: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 81 bytes) in /home/username/domains/domain.ru/public_html/somescript.php
Чтобы исправить ее, увеличьте лимит оперативной памяти, добавив в файл .htaccess директиву:
php_value memory_limit 512M
Вместо «512» укажите необходимый объем памяти. Максимальное значение ограничивается тарифом.
Текст Out of memory означает, что достигнут лимит оперативной памяти по тарифному плану:
PHP Fatal error: Out of memory (allocated 39059456) (tried to allocate 262144 bytes) in /home/username/domains/domain.ru/public_html/somescript.php
Оптимизируйте работу скриптов, чтобы они потребляли меньше памяти. Объемную загрузку или выгрузку данных производите частями. Если оптимизацию произвести невозможно, измените тариф на тот, по которому предоставляется достаточно памяти для комфортной работы сайта.
Ошибки в CMS
При обновлении CMS случаются синтаксические ошибки:
PHP Parse error: syntax error, unexpected ‘[‘, expecting ‘)’ in /home/username/domains/domain.ru/public_html/wp-content/plugins/wordpress-23-related-posts-plugin/config.php on line 130
Это происходит из-за того, что новые функции CMS не поддерживают устаревшие версии PHP. Чтобы исправить ошибку, измените версию PHP для сайта на более современную в разделе «Сайты» → «Веб-серверы».
Если предыдущая рекомендация не помогла, обратите внимание на путь до неработающего скрипта: там может быть указан каталог плагина или темы. Чтобы исправить ошибку, отключите их. Для этого переименуйте папку, в которой они расположены. После устранения ошибки авторизуйтесь в административной части сайта и измените тему или переустановите плагин.
Чтобы исправить большинство ошибок PHP, достаточно изучить их текст и принять меры, указанные в статье. Если вам не удается справиться с ней самостоятельно, обратитесь в службу поддержки.
Как убрать 500 ошибки и включить ошибки PHP.
До того как вы не исправите ошибку 500, PHP вам не видать. Это ошибка сервера, и почему она может возникать очень легко нагуглить.
Ты вообще о чем. У нас любая ошибка фатальная или парсинга PHP вызывает 500-ю ошибку. Как ее отключить и включить ошибки самого PHP?
Откуда я могу знать, что там у вас по той скудной информации, что ты предоставил? PHP работает как CGI (если да, то читаем error.log как сказал @gurzufnet)?
В .htaccess прописать php_flag display_errors 1 . stackoverflow.com/a/17693462/4223982 . По крайней мере мне помогло .
3 ответа 3
пробовали в начале скрипта прописать
Наиболее частой причиной ошибки 500 (Internal Server Error, внутренняя ошибка сервера) является неверный синтаксис файла .htaccess или наличие в нем неподдерживаемых директив. Чаще всего достаточно закомментировать директиву Options (для этого нужно поставить в начале строки решетку — #), и проблема исчезнет.
Ошибка 500 также может возникать вследствие неправильного обращения с CGI-скриптами:
CGI-скрипты должны иметь окончания строк в формате UNIX ( \n ), а не в формате Windows ( \r\n ). Для этого их надо загружать на сервер по FTP в режиме ASCII.
CGI-скрипты и папки, в которых они находятся, должны быть доступны для записи только владельцу, то есть иметь права 0755 ( drwxr-xr-x ).
В результате работы CGI-скрипта сформированны неправильные HTTP-заголовки ответа. В этом случае для решения проблемы полезно обратиться к error_log (его можно найти в контрольной панели в разделе « Статистика / Лог-файлы / Лог ошибок»).
Я знаю почему возникают ошибки 500. Меня интересует вопрос как настроить сервер чтобы он выдавал ошибки PHP а не сервера.
А что говорит error.log веб сервера. Один из вариантов, скрипт не выполняется из-за не правильно выставленных прав доступа.
Все выполняется, но если есть специально вызванная ошибка, то сервер выдает 500 ошибку, а ошибка PHP не показывается.
how to solve iis error 500 upload file using php
Network Error (tcp_error) A communication error occurred: «Can’t send more» The Web Server may be down, too busy, or experiencing other problems preventing it from responding to requests. You may wish to try again at a later time. For assistance, contact your network support team.
upload_max_filesize: 20M post_max_size: 128M memory_limit: -1 max_file_uploads: 20 max_execution_time: 50000 max_input_time: 50000 file_uploads: on default_socket_timeout: 6000
Asp.Net Configuration option in Visual Studio. A full list of settings and comments can be found in machine.config.comments usually located in \Windows\Microsoft.Net\Framework\vx.x\Config --> --> section enables configuration of the security authentication mode used by ASP.NET to identify an incoming user. --> section enables configuration of what to do if/when an unhandled error occurs during the execution of a request. Specifically, it enables developers to configure html error pages to be displayed in place of a error stack trace. -->
PHP Warning: POST Content-Length of 9202605 bytes exceeds the limit of 8388608 bytes in Unknown on line 0