Posted at

MAMPでエラーログを確認する

More than 3 years have passed since last update.

PHPでコードを書いていたら、画面が真っ白になってしまった。。。

私のようなペーペーにはよくあることです。

そんなときに使えるエラーログの確認方法の1つをまとめました。

エラーを起こしている場所が分かれば、修正方針も立てやすくなります。

ご参考にしていただければ嬉しく思います。

(試してはいませんが、XAMPPでも同様の手順だと思います。)


エラーログを吐いている場所を見つける

MAMPでPHPのエラーログを吐いている(出力している)ファイルは、php_error.logです。

他にもデフォルトでappache_error.logmysql_error.logがあります。

まずはこのファイルのあるディレクトリまで移動します。

ターミナルでの操作になります

$ cd MAMP/

$ cd logs/
$ ls

MAMPディレクトリ直下のlogsディレクトリの中にあります。

lsにてlogsの中にあるファイルを見ると、php_error.logがあったと思います。

php_error.logには、エラーログが発生した場合、リアルタイムでその情報が更新されていきます。

このファイルをtail -fコマンドを使って追従します。


エラーログをリアルタイムで追う

tailコマンドは、対象のファイルの末尾10行を表示します。

そのオプションである-fは、ファイルが更新されても常に追い続けてくれるものです。

(詳しくはこちらをご参考ください。→tailコマンドのオプション「f」と「F」

$ tail -f php_error.log

すると、直近10件のエラーログが表示されると思います。

試しに適当にエラーを発生させてみましょう。

すると、画面の内容が更新されるはずです(ターミナルはtail -fした画面のままで開いておいてください。)。

ただ、大量にエラーログが発生すると、「どこからどこまでが修正前で、どこからが修正後か分からない」ということになります。

クセとして、エラーログを確認したら、enterキーで改行するようにしましょう

改行してもファイルに悪影響はありません。

ただ、改行した場所から次のエラーログを出力していくだけです。



↑少し見やすくなったと思います。

スペースより上が修正前、スペースより下が修正後に発生したエラーです。


おわりに

MAMPに限らず、多くの開発環境、フレームワークではログを発生させる仕組みがあります。

(私も多くを知っているわけではありませんが。)

まずは、どこでエラーログを出力しているか確認して、のぞいてみましょう。

(そのときにtail -fコマンドが使えます。)