IISを開発マシンのWebサーバーとしてPHP webdevelopmentに使用しています。少なくとも、私は使用しています。
PHPスクリプトに構文エラーがあり、そのファイルをウェブブラウザで開くと、503「内部サーバーエラー」とデフォルトのIIS =このエラーのエラーページ一部のブラウザは、おそらく503 HTTP応答ヘッダーが原因で、そのファイルをまったく開けません。
IISでApacheウェブサーバーと同じように動作するようにしたい:エラーを含むPHPファイルを表示して、エラーメッセージが出力されるようにします。 。
これはどのように行うことができますか?
編集:
PHP設定:
display_errors
オンであり、
error_reporting
e_ALLに設定されている
IIS7では、デフォルトでエラーを通過させません。設定する必要があるのは「existingResponse」です。
次のコマンドを実行して設定できます({sitename}を自分のサイト名に置き換えてください)。
c:\windows\system32\inetsrv\appcmd.exe set config "{sitename}" -section:system.webServer/httpErrors /existingResponse:"PassThrough" /commit:apphost
PHPスクリプトの上部に次の2行を含めます)
ini_set('display_errors','On');
error_reporting(E_ALL | E_STRICT);
ベストプラクティスは、ファイルに「サイレント」でログを記録することです。
しかし、php.iniファイルの次の値をログファイルに設定することで、両方を使用できます
error_log=<File Location>
PHP(および他の言語))の詳細なエラーを有効にするには、コマンドラインから次のコマンドを実行します。
%windir%\system32\inetsrv\appcmd.exe set config -Section:system.webServer/httpErrors -errorMode:Detailed
その後
IISReset
Php.iniセット:
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
display_errors = On
そして、あなたがそれらを記録したい場合:
log_errors = On