PHP on Windows Training Kit の「Hands-On Lab:Troubleshooting PHP」 を参考に
1) IISの失敗ログのトレース機能
2) 実行に時間がかかる処理を検出する例
3) 失敗ログのトレース結果の利用例
について説明します。
1. IIS のエラーログの出力には設定が必要
1.1 失敗した要求トレースの規則 を設定

* 200 を指定することで失敗でない処理のトレースを採取することも可能

1.2 Web サイトごとに 失敗した要求トレース の機能を有効にする

* 前提条件としては トレース 機能がインストールされていること
この役割サービスが導入されていなと、メニューが表示されない。
* Windows7では役割の追加はコントロールパネル経由で行なう。

* Kit の Setup.docx の図では選択されていないので注意

1.3 出力されたエラー内容の確認

2. 実行に時間がかかる処理を検出する例
用意された loop.php を実行
$j = 0;
for($i=0; $i<10; $j = $i + 1)
{
$j = $j + 1;
}
echo(”Done”);
?>
をクリックして処理に時間がかかる Process を確認することができます。

3. 失敗ログのトレース結果の利用例
内部エラーですが、 30秒程度で毎回終了していました。
php.ini のmax_execution_time の値をデフォルトの30秒が原因であったため、この値を大きくすることでエラーは発生しなくなりました。

* PHPのプログラムのデバック情報を表示するためには php.ini の display_errors=On の設定が有効
関連 : IISのエラーメッセージをカスタマイズする