Отладка 500 внутренних ошибок сервера на PHP, запущенных на кластере IIS7
Недавно мой интернет-провайдер переключил наш сайт на кластер высокой доступности IIS7.0. Веб-сайт работает на PHP5.2.1, и я могу загружать только файлы (поэтому никаких настроек реестра). Я тестировал веб-сайт раньше и все, казалось, работало, но теперь страница проверки выходит из строя:
500 - внутренняя ошибка сервера.
Существует проблема с ресурсом, который вы ищете, и его невозможно отобразить.
По мере того как сообщения об ошибках идут, это не очень информативно. Я пробовал:
ini_set('display_errors', 1);
ini_set('error_log', $file_php_can_write_to );
но оба они ничего не делают.
Кто-нибудь знает, как добиться лучшего результата отладки?
Ответы
Ответ 1
Изменить: похоже, у нас есть аналогичный вопрос в serverfault. Проверьте это
Отключение пользовательских ошибок IIS7 позволит отправлять ответы об ошибках из вашего приложения на удаленные клиенты, не подвергаясь цензуре с помощью модуля пользовательских ошибок IIS7.
Вы можете сделать это из инструмента администрирования IIS7, выполнив "Пуск > Выполнить > inetmgr.exe", выбрав свой веб-сайт/приложение/виртуальный каталог в левом древовидном представлении, щелкнув значок "Страницы ошибок", нажав "Редактировать настройки функций", а затем выберите "Подробные ошибки"
Источник
Ответ 2
Очень часто при смене сервера вы не можете загружать свои приложения. Я решил эту проблему запустить php.exe
вместо загрузки ваших приложений в браузере:
1) Запустите его с помощью командной строки > C:\php\php.exe
ИЛИ
2) Запустите Windows Explorer
, найдите его и дважды щелкните по c:\php\php.exe
.
3) Вы увидите, какие DLL конфликтуют и вызывают ошибку 500.
4) Решите конфликты с поиском нужной DLL для вашей версии Windows, и вы сможете видеть свои приложения через браузер.
Лучшее из приятелей.
Ответ 3
IIS делает это, это действительно раздражает, и я не могу найти исправление, и именно поэтому я переключился на сервер Apache для своей локальной машины. К сожалению, если у вас нет контроля над вашим сервером, лучше всего это либо проверить его локально на настройке apache, либо попросить ваш хост разрешить сообщения об ошибках.
Я сделал несколько поисковых запросов, this, это похоже на то, что вам нужно. Желание, которое было вокруг, когда я пытался запустить IIS.