it-swarm-ru.tech

Как я могу отображать и регистрировать PHP ошибки на IIS7?

Мы запускаем PHP 5.2.5 на сервере IIS 7), и у нас возникают проблемы с отображением ошибок PHP) ... В настоящее время, когда у нас возникает ошибка PHP), сервер возвращает ошибку 500 с сообщением "Невозможно отобразить страницу, поскольку произошла внутренняя ошибка сервера".

Это может быть хорошим параметром для рабочих сайтов, но это довольно раздражает на сервере разработки ... ;-)

Я попытался настроить php.ini, чтобы отобразить ошибки на экране, а также записать их в определенную папку, но кажется, что Сервер перехватывает все ошибки раньше и предотвращает и обрабатывает с помощью PHP ...

Кто-нибудь знает, что мы должны сделать, чтобы сделать IIS display PHP ошибки на экране?) Будут признательны за любые ссылки, советы или учебные материалы по этой теме!

30
Ben

Просто дважды проверьте, есть ли у вас запись в error_reporting = E_ALL, а также display_errors = On в вашей php.ini? Обычно этого достаточно для отображения этих ошибок в IIS 7.

Затем взгляните на настройки IIS, так как он может быть настроен так, чтобы показывать только сообщения об ошибках локально. В редакторе конфигурации IIS 7) он находится в системе. .webServer-> httpErrors. Вам нужно будет изменить errorMode на Detail с DetailLocalOnly. Очевидно, теперь это означает, что любой, просматривающий ваш сайт, сможет увидеть ошибку.

enter image description here

enter image description here

В качестве альтернативы, если вы хотите сохранить их локальными, вы можете использовать удаленный рабочий стол, чтобы войти на сервер и запустить приложение оттуда, если можете.

35
Sam Cogan

Просто хотел добавить, что для "существующего ответа" должно быть установлено "PassThrough". Я не получил никаких реальных сообщений об ошибках без этой дополнительной настройки.

2
Bolli

Мне пришлось зайти в настройки на веб-сервере в конфигурацию php, там есть настройка для отчетов об ошибках, и по умолчанию она настроена на работу. Пришлось изменить его в разработке даже после изменения php.ini и предложения здесь. Я использую iis 7.5 на 2008 R2.

0
naps1saps

Это можно легко сделать с помощью IIS GUI диспетчера. Выберите свой сайт и дважды щелкните Страницы ошибок. Затем нажмите "Редактировать настройки функций ..." и выберите вариант "подробные ошибки" вместо по умолчанию "подробные ошибки для локальных запросов и пользовательские страницы ошибок для удаленных запросов". Вуаля, все просто!

0
Jeroen Aarts