IISでもっと詳しいエラーを取得するには


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 の図ではトレースは選択されていないので注意
    * Web Platform Installer でも導入した場合の選択されいないので注意

    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秒が原因であったため、この値を大きくすることでエラーは発生しなくなりました。

  4. その他

    * PHPのプログラムのデバック情報を表示するためには php.ini の display_errors=On の設定が有効

関連 :  IISのエラーメッセージをカスタマイズする



コメントをどうぞ