Мы запускаем PHP 5.2.5 на сервере IIS 7, и у нас возникают проблемы с отображением ошибок PHP ... В настоящий момент, когда у нас есть ошибка PHP, сервер отправляет обратно ошибку 500 с сообщением «Страница не может быть отображается, потому что произошла внутренняя ошибка сервера. "
Это может быть хорошей настройкой для производственных веб-сайтов, но на сервере разработки это довольно раздражает ... ;-)
Я пробовал настроить php.ini
чтобы отображать ошибки на экране, а также записывать их в определенную папку, но кажется, что Сервер улавливает все ошибки раньше и предотвращает их обработку с помощью PHP ...
Кто-нибудь знает, что нам нужно сделать, чтобы IIS отображал ошибки PHP на экране? Будем признательны за любые ссылки, советы или руководства по этой теме!
Просто чтобы дважды проверить, настроено ли ведение журнала на error_reporting = E_ALL
, и display_errors = On
в твоем php.ini
? Обычно этого достаточно, чтобы отобразить эти ошибки в IIS 7.
Затем взгляните на свои настройки IIS, так как они могут быть настроены только на локальное отображение сообщений об ошибках. В редакторе конфигурации IIS 7 это находится в system.webServer-> httpErrors. Вам нужно будет изменить errorMode на Подробный с Детализированного Локального Онлайна. Очевидно, теперь это означает, что любой, кто просматривает ваш сайт, сможет увидеть ошибку.
В качестве альтернативы, если вы хотите, чтобы они оставались локальными, вы можете использовать удаленный рабочий стол для входа на сервер и запуска приложения оттуда, если можете.
Просто хотел добавить, что "existingResponse" должен иметь значение "PassThrough". Без этой дополнительной настройки я не получал никаких реальных сообщений об ошибках.
Вы можете легко сделать это с помощью графического интерфейса IIS Manager. Выберите свой сайт и дважды щелкните Страницы ошибок. Затем нажмите «Изменить параметры функции ...» и выберите вариант «подробные ошибки» вместо «подробных ошибок» по умолчанию для локальных запросов и настраиваемых страниц ошибок для удаленных запросов ». Вуаля, все просто!
Мне пришлось зайти в настройки на веб-сервере в конфигурацию php, и там есть настройка для сообщения об ошибках, которая по умолчанию установлена на производство. Пришлось изменить его на разработку даже после изменения php.ini и предложения здесь. Я использую iis 7.5 на 2008 R2.