PHPでコードを書いていたら、画面が真っ白になってしまった。。。
私のようなペーペーにはよくあることです。
そんなときに使えるエラーログの確認方法の1つをまとめました。
エラーを起こしている場所が分かれば、修正方針も立てやすくなります。
ご参考にしていただければ嬉しく思います。
(試してはいませんが、XAMPPでも同様の手順だと思います。)
エラーログを吐いている場所を見つける
MAMPでPHPのエラーログを吐いている(出力している)ファイルは、php_error.log
です。
他にもデフォルトでappache_error.log
、mysql_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
試しに適当にエラーを発生させてみましょう。
すると、画面の内容が更新されるはずです(ターミナルはtail -f
した画面のままで開いておいてください。)。
ただ、大量にエラーログが発生すると、「どこからどこまでが修正前で、どこからが修正後か分からない」ということになります。
クセとして、エラーログを確認したら、enter
キーで改行するようにしましょう。
改行してもファイルに悪影響はありません。
ただ、改行した場所から次のエラーログを出力していくだけです。
↑少し見やすくなったと思います。
スペースより上が修正前、スペースより下が修正後に発生したエラーです。
おわりに
MAMPに限らず、多くの開発環境、フレームワークではログを発生させる仕組みがあります。
(私も多くを知っているわけではありませんが。)
まずは、どこでエラーログを出力しているか確認して、のぞいてみましょう。
(そのときにtail -f
コマンドが使えます。)