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 для входу у файл.


У мене є error_reporting, log_errorsі error_logвсе налаштовано таким чином, але це все ще не реєструє помилки для сайту Joomla. Цей сайт було скопійовано з сервера Apache. Я імпортував .htaccessправила в IIS 7.5; але на жаль, це все ще не вдається. Чи випадково у вас є ідеї, що ще мені може знадобитися розглянути?
Майк Перреноуд

5

Якщо припустити, що у файлі php.ini у вас є всі правильні налаштування

  1. Виберіть свій веб-сайт у Менеджері IIS
  2. Праворуч двічі клацніть піктограму Сторінки помилок
  3. У правій частині пункту "Дії" натисніть посилання "Редагувати параметри функції"
  4. У спливаючому вікні, що з’явиться, виберіть перемикач "Детальні помилки"
  5. Оновіть сторінку PHP, щоб побачити детальні помилки

Завдяки останньому коментарю на цій сторінці


0

Я з’ясував, що це гарна ідея отримати доступ до сторінки, розміщеної на IIS, з InternetExplorer для тестування.

У моєму випадку php-error-logs там, де чистий - звідти не має жодної підказки.

Під час з'єднання з firefox / chrome я отримав звичайну неекспресивну "500 - внутрішня помилка сервера": введіть тут опис зображення

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.