PHPエラー時に使うデバッグツール・ログ確認法5ステップ

こんにちは!インストラクターの井上(@InoIno_iesa)です!

プログラミング学習中の方にとってPHPのエラー解決ってなかなか難しいですよね。

それにエラーが長時間解決できないとイライラしてしまい、学習自体がいやになってしまうものです

ただ、基本的なデバッグ手法やデバッグツールを知っておくだけで、そのイライラを解消できるかもしれません。

そこで今回は、プログラマとして普段行っている基本的なデバッグ方法を紹介していきます。

まずはこれだけ抑えてプログラミングを少しスムーズに行えるようにしましょう。

【関連記事】

目次

デバッグとは

そもそもデバッグという言葉を聞きなれない方もいるかもしれないので簡単に紹介しておきましょう。

デバッグとは作ったプログラムのエラーを解析したり、意図した通りに動いているかを確認することです。

プログラミングしたソースコードのおかしな所などを調べるためのものをデバッグツールと言います。

ここではよく使うデバッグ手法の紹介を行っていきます。

1.ログを確認する

shutterstock_279538088

PHPファイルをブラウザで見て、白い画面になったりエラーが出たりしたら、まずはログファイルを確認しましょう。

PHPのエラーメッセージなどが出ていればその場所は原因を特定していきます。

PHPの標準で搭載されているビルトインサーバなどを使用している場合は、サーバを起動しているところでそのまま見ることが可能です。

WEBサーバを起動している場合は各WEBサーバの配置しているログファイルを探しましょう。

エラーはだいたい英単語を拾う形でも原因が特定できますが、よくわからない場合はエラーメッセージの主要と思われる部分をコピーして、ダブルクオーテーションをつけてGoogle検索で調べましょう。

Google検索でダブルクオーテーションで囲まれた範囲は完全一致で検索できるので、まったく同じエラーで困っている人の情報、エラーメッセージ対する対策などを検索しやすくなります。

2.プリントデバッグで状態を出力させる

shutterstock_173133482

var_dump()という関数を使うと、変数の中身などを画面に出力してくれます。

下記のソースコードのように変数などに対して使用します。

[php]
<?php
var test_str = "TEST";
var_dump(test_str);
[/php]

WEBサーバのログに出力したり画面に出力したりする方法はいくつかありますが、とりあえずこれとechoだけ覚えておけばよいでしょう。

このような現在の変数などの状態を画面に出すのはプリントデバッグという方法で、最も一般的なデバッグ手法です。

具体的には、分岐処理はどちらを通っているのか、その時の条件はどうなっているのか、またどこまで想定していると
おりに実行されているのか等を確認できたりします。

3.GoogleChromeデベロッパーツール

スクリーンショット 2016-04-19 16.22.42

通信内容などフロント側にも原因が考えられる場合はデベロッパーツールを使います。FireFoxなどでも大丈夫です。

PHPがおかしいと思っていても、そもそもの入出力がおかしいことがあるので、どこまでは確実に正しく動いているのか問題の切り分けが大切になってきます。

使い方に関しては詳しくは、次のサイトなどを参考にしてみてください。

http://www.buildinsider.net/web/chromedevtools/01

4.PHP DBG

スクリーンショット 2016-04-19 16.18.19
URL : http://phpdbg.com/docs

PHP5.6以降にはPHPのデバッグをするためのツールが標準でついているので、これを使用してエラーを解析しましょう。

ブレークポイントというその場所で一旦処理を止めて状態を確認する方法がとれたり、ステップ実行という1行ずつ動作を確認しながら処理を進める方法などが利用できます。

ここまでの方法でほとんどのエラーは解決できるようになるはずです。

英語ですが上記公式ドキュメントにも詳しい使い方が書かれています。

5.PHPコマンドラインオプションを使う

スクリーンショット 2016-04-19 16.20.51
URL : http://php.net/manual/ja/features.commandline.options.php

PHPファイルをコマンドラインから実行させる起動方法をする際に、オプションをつけることでさまざまな動作をさせることができます。

たとえば、

[bash]
$ php -l [php_filename]
[/bash]

を実行することで、phpの実行はせずに構文チェックだけ行うことができます。

コマンドに慣れない人にはとっつきづらいですが、詳しくはPHPマニュアルの公式を参照してみてください。

まとめ

PHPのデバッグ方法などを紹介してきましたがいかがでしたでしょうか。

PHP以外でも汎用的に使える考え方ですので是非抑えておいてください。

エラーに詰まらずどんどんアプリを作れるようにしていきましょう!

関連記事

【徹底比較】PHPフレームワークおすすめランキングTOP5
更新日:2024年10月31日
初心者向け!PaizaCloudでPHP開発環境を構築する方法
更新日:2024年5月6日

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次