Как диагностировать внутреннюю ошибку сервера (HTTP 500) со страницы PHP в IIS 7.5 - PullRequest
2 голосов
/ 30 марта 2011

Я пытаюсь получить пробную копию системы управления членством aMember, работающей на моей локальной машине разработчика, которая является 64-разрядной Windows 7 с IIS 7.5. У меня есть MySQL 5.5.10 и PHP 5.3.6, последний, который я установил с помощью установочного пакета Windows. Это кажется хорошо.

В пакете aMember есть скрипт tester.php, который я запустил, и он дал результат «ОК», несмотря на то, что его вывод был полон сообщений об ошибках, связанных с Функция eregi () устарела . Затем я запустил скрипт setup.php, который, казалось, работал правильно. Это заняло у меня один или два экрана сбора, например информация для входа в MySQL, а затем сказал, что она завершена, и предложил мне ссылки на некоторые страницы администратора aMember. Ни одна из этих ссылок не работает, и при щелчке по любой из них Внутренняя ошибка сервера (HTTP 500): при попытке сервера выполнить запрос возникла непредвиденная ситуация.

Что я могу сделать для дальнейшей диагностики этой ошибки, за исключением размещения большого количества диагностических записей на самих страницах php? Инструменты в моем распоряжении - Aptana Studio и Visual Studio, хотя я сомневаюсь, что последний пригодится здесь. Я зарегистрировал проблему с поддержкой aMember, который быстро попросил журналы моего сервера, а затем исчез.

Ответы [ 2 ]

1 голос
/ 30 марта 2011

Моим первым портом захода здесь будет включение отслеживания невыполненных запросов:

Устранение неполадок с ошибочными запросами при использовании трассировки в IIS 7
Устранение неполадок с отслеживанием невыполненных запросов

Я также с подозрением отношусь к вашей установке PHP. Как правило, никогда не используйте установщики. Кажется, они никогда не поступают правильно.

Я бы сорвал вашу установку PHP и начал бы с нуля, используя следующие шаги:

Использование FastCGI для размещения приложений PHP на IIS 7

FastCGI + Non-threadsafe сборка PHP (5.2 или 5.3) является окончательным способом установки и настройки PHP на IIS7.

0 голосов
/ 03 апреля 2011

Пробная программа aMember использует кодированный PHP, для декодирования которого требуется IonCube. Я установил это, но, кажется, установка не удалась, поскольку последующая установка устранила проблему. Сначала я был в замешательстве, потому что после установки IonCube я запустил тестовый скрипт aMember, который сообщил мне, что IonCube был установлен. Поддержка aMember ответила, что:

к сожалению скрипт тестера не справляется с ситуацией с динамической загрузкой корректно. PHP версии 5 не позволяет загружать библиотеки динамически, если эти библиотеки не находятся в папке php lib. Поэтому вам нужно установить IonCube или Zend на сервер php.ini '

Я не знаю, почему это не может встроить предупреждение в тестовый скрипт.

...