IIS не отображает подробные ошибки PHP - вместо этого отображается ошибка сервера 500

9

Я привык обслуживать сайты из Apache, но теперь я вынужден использовать сервер IIS.

Некоторые из моих страниц PHP возвращают ошибку 500, и я не могу отладить, потому что IIS подавляет сообщения об ошибках. Я пробовал ini_set('display_errors',1);в коде, но безрезультатно.

Ошибки отображаются на некоторых сайтах, но не на том, который я хочу отладить, поэтому я не думаю, что это глобальная настройка PHP, а скорее что-то, связанное с настройками сайта для этого сайта.

Я не могу найти четкий ответ о том, как включить отображение ошибок PHP.

Я нашел эту ссылку, но не уверен, где найти " system.webServer-> httpErrors ".

Как я могу включить отображение ошибок в PHP под IIS?

Энди
источник

Ответы:

6

Как насчет их регистрации?

Отредактируйте php.ini и установите

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

И либо

error_log = syslog войти в журнал событий Windows или

error_log = location/of/logfile войти в файл.

adaptr
источник
У меня есть error_reporting, log_errorsи error_logвсе настроено таким образом, но по-прежнему не регистрируются ошибки для сайта Joomla. Этот сайт был скопирован с сервера Apache. Я импортировал .htaccessправила в IIS 7.5; но, увы, все равно не получается. Вы случайно не представляете, что еще мне нужно изучить?
Майк Перренуд
5

Предполагая, что у вас есть все правильные настройки в вашем файле php.ini

  1. Выберите свой сайт в IIS Manager
  2. Справа дважды щелкните значок страницы ошибок
  3. Справа в разделе «Действия» нажмите ссылку «Изменить настройки компонента».
  4. В появившемся всплывающем окне выберите переключатель «Подробные ошибки».
  5. Обновите свою страницу PHP, чтобы увидеть подробные ошибки

Благодаря последнему комментарию на этой странице

AnotherLongUsername
источник
0

Я обнаружил, что это хорошая идея получить доступ к странице, размещенной на IIS, с помощью InternetExplorer для тестирования.

В моем случае php-error-logs, где чистые - не получил оттуда никакой подсказки.

При подключении с помощью Firefox / Chrome я получил не выраженную фразу «500 - внутренняя ошибка сервера»: введите описание изображения здесь

... но более полезное сообщение об ошибке («Ошибка HTTP 500.0 - Внутренняя ошибка сервера C: \ PHP \ php-cgi.exe - Процесс FastCGI неожиданно завершился») при использовании InternetExplorer: введите описание изображения здесь

Возможно также попробуйте подключиться с http: // localhost на самом сервере.

Eli
источник