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

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

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

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

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

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

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

【関連記事】

【卒業生作品まとめ】PCスキル皆無でもこんなWebアプリ作れました!
更新日 : 2019年8月21日

デバッグとは

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

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

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

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

1.ログを確認する

shutterstock_279538088

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

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

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

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

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

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

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

shutterstock_173133482

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

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

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

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

たとえば、

$ php -l [php_filename]

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

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

まとめ

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

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

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

関連記事

【超初心者向け】PHPプログラミング入門の入門
更新日 : 2019年9月11日
【徹底比較】2019年版PHPフレームワークおすすめランキングTOP5
更新日 : 2019年7月12日
初心者向け!PaizaCloudでPHP開発環境を構築する方法
更新日 : 2018年2月19日

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説