Windows Azure WebサイトでPHPサイトのエラー情報を取得する方法

Windows Azure Webサイトで動作しているPHPサイトのエラー情報の取得方法について説明します。

ロギングオプションの有効化

Windows Azure 管理ポータルで、WebサイトのCONFIGUREタブを選択し、3つのロギングオプションを有効化します。3つのロギングは、Webサーバーのログ、詳細なエラーメッセージ、失敗したリクエストのトレースです。それらを有効化するために、diagnosticセクションを探し、それぞれをONにし、SAVEボタンをクリックします。

image

それらのログを確認する方法の1つは、FTP経由で参照する方法です。Azure管理ポータルの右端のパネルで、FTP HOSTNAMEとDEPLOYMENT ?FTP USERを参照します。FTPクライアントを使用して、接続します。

image

そのほかにログを確認する方法として、MacとLinux用のWindows Azureコマンドラインツールを使用する方法があります。次のコマンドを実行すると、.zipファイルでダウンロードすることができます。

azure site log download <site name>

このコマンドは、Linux/Macのスーパーユーザーで実行する必要があります。

PHPエラーレポーティングの設定

PHP.iniで次の設定をします。

display_errors=On
log_errors=On
error_log = "D:\home\site\wwwroot\bin\errors.log"

XDebugの有効化

FTP経由でXDebugプロファイルを取得することができます。
Windows Azure WebサイトでのXDebugの有効化方法についてを参照してください。

image

メモ

サイトでエラーを調べ始めると、favicon.icoの404エラーが大量に記録されていることに気づきます。エラーを解消するには単純に、favicon.icoをrootディレクトリに配置することです。

 

情報源

Brain氏のBlog投稿「Getting Error Info for PHP Sites in Windows Azure Web Sites」をざっくりと意訳して紹介した投稿です。