MAMP、XAMPPでエラーログを追ってみよう

これからバグフィックスのカリキュラムに移る方は、試しに
http://localhost/LetsEngineer/curriculum/3-3/bugTest/test2/
にアクセスしてみましょう。
下図の画面か、もしくは真っ白かと思います。(ブラウザの設定によって異なります。)

ここからバグを修正しろ、と言われても、ヒントも無しでソースコードを読むしかありません。
そこでバグ修正の際に、ヒントを見つけるためにエラーログを出力させましょう。
エラーログとは、「 〜〜の理由でエラーが発生しました 」という情報のことです。

XAMPPの方は前準備があるので注意してください。

XAMPPの前準備

XAMPPではPHPのエラーログの設定が中途半端な状態となっています。
このままではエラーログを出力することが出来ない状態なので、設定を完了させましょう。
設定はエクスプローラからでも出来るのですが、せっかくなので 全てUNIXコマンドで やってしまいましょう。

※こういう時にコマンドから逃げていては上達が遠のきますよ。

※以降の画面説明は全てWindows10のものです。
Windows7、Windows8の方は、適宜読み替えをお願い致します。

まずはスタートメニューからGitBashを立ち上げましょう。
「G」のところにあるはずです。

(写真)

GitBashに、以下のコマンドを入力していきます。

# xamppフォルダ内のphpディレクトリに移動
$ cd /c/xampp/php

# 標準のままではlogsディレクトリが存在しないはずなので、一旦それを確認
$ ls | grep logs

# logsディレクトリを作成
$ mkdir logs

# logsディレクトリが作られたことを確認
$ ls | grep logs

# 今作ったばかりのlogsディレクトリに移動
$ cd logs

# php_error_logファイルを新規作成
$ touch php_error_log

# php_error_logファイルが出来ていることを確認
$ ls

エラーログを確認してみる

それでは実際にやってみましょう。
エラーログを追う方法はいくつかありますが、今回は最もポピュラーなtail -fコマンドを使用してみます。
まず、Mac、Windowsでそれぞれ、下記のコマンドを打ってみてください。

Mac(ターミナル)

$ tail -f /Applications/MAMP/logs/php_error.log

Windows(Gitbash)

$ tail -f /c/xampp/php/logs/php_error_log

そうすると、下図のように全く別の画面になったと思います。
(人によって画面の内容は異なります。)
これはMAMP / XAMPP上で実行したPHPでエラーが発生した場合に、ここにエラーの内容が書き込まれていきます。

試しに研修課題をやってみる

今から行うバグ修正を行うを行うの課題を実行してみます。
課題未着手であれば、このソースコードにはバグ(エラー)があります。

実際にアクセスしてみると、もちろん変な画面です。

先ほどのログを見てみましょう。
何かに気づきませんか?
そうです。文章が増えています。
これは、今実行したPHPのエラー内容です。

エラーログを読むヒント

このエラーログを読むと今回の研修は早く終わるかもしれません。
そのため、今回のエラーログに何が書いてあるのか、どういう対応をすれば良いのか、ということについては解説しません。
ただの英語なので、各自で読んでみましょう。

ちなみに、どういった内容が書いてあるのかのヒントを下記に示します。

  • どのファイルでエラーが起こったのか
  • そのファイルの何行目がおかしいのか
  • どういった種類のエラーか

なお、エラーによって記載される内容は異なります。

画面を元に戻す

今はtail -fによる ログ追従モード です。
元の画面に戻るためにはCtrl + cを押しましょう。

慣れてきたエンジニアは、ターミナルとテキストエディタ、ブラウザを使い、

  • コードを書く
  • ブラウザで実行してみる(エラーが起こる)
  • エラーログを確認
  • コードを修正

という手順で作業を進めます。
ぜひ、やってみてください!

カテゴリー

アーカイブ

Close Bitnami banner
Bitnami