IISが詳細なPHPエラーを表示しない-代わりにサーバー障害500が表示されます


9

私はApacheからサイトを提供することに慣れていますが、現在はIISサーバーを使用することを余儀なくされています。

多くのPHPページがエラー500を返し、IISがエラーメッセージを抑制しているためデバッグできません。私はini_set('display_errors',1);コードで試しましたが、役に立ちませんでした。

一部のサイトでエラーが表示されますが、デバッグしたいサイトではないため、グローバルなPHP設定ではなく、そのサイトのサイト設定と関係があると思います。

PHPエラーの表示を有効にする方法について明確な答えが見つかりません。

このリンクは見つかりましたが、「system.webServer-> httpErrors」の場所がわかりません。

IISでPHPの表示エラーを有効にするにはどうすればよいですか?

回答:


6

代わりにそれらを記録するのはどうですか?

php.iniを編集して設定

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

そしてどちらか

error_log = syslog Windowsイベントログに記録する、または

error_log = location/of/logfile ファイルに記録します。


私が持っているerror_reportinglog_errorsと、error_logすべてこのように構成されたが、それはまだJoomlaのサイトのエラーを記録いません。このサイトはApacheサーバーからコピーされました。.htaccessルールをIIS 7.5 にインポートしました。しかし、悲しいかな、それはまだ失敗しています。偶然、私が他に何を調べなければならないかもしれないという考えがありますか?
Mike Perrenoud 2013年

5

php.iniファイルにすべての正しい設定があると仮定します

  1. IISマネージャーでWebサイトを選択します
  2. 右側の[エラーページ]アイコンをダブルクリックします
  3. [アクション]の右下にある[機能設定の編集]リンクをクリックします
  4. 表示されるポップアップで、[詳細なエラー]ラジオボタンを選択します
  5. 詳細なエラーを確認するには、PHPページを更新してください

このページの最後のコメントに感謝


0

私はそれがために良いアイデアだと、分かったアクセスIISでホストされているページをのInternetExplorerテストするため。

私の場合、php-error-logsはきれいです-そこからの手掛かりはありませんでした。

firefox / chromeで接続すると、わかりにくい「500-内部サーバーエラー」が表示されます。 ここに画像の説明を入力してください

...ただし、InternetExplorerを使用すると、より便利なエラーメッセージ(「HTTPエラー500.0-内部サーバーエラーC:\ PHP \ php-cgi.exe-FastCGIプロセスが予期せず終了しました」): ここに画像の説明を入力してください

また、サーバー自体のhttp:// localhostから接続してみてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.