PHPのデバッグ方法を完全ガイド!初心者でもわかるvar_dump・print_r・error_log
生徒
「PHPを書いてみたんですが、画面が真っ白で何が起きているのか分かりません…」
先生
「それはプログラムの中でエラーや予想外の動きが起きている可能性があります。」
生徒
「エラーって、どうやって見つければいいんですか?」
先生
「PHPには、初心者でも使いやすいデバッグ方法がいくつか用意されています。一緒に確認していきましょう。」
1. PHPのデバッグとは何か?
PHPのデバッグとは、プログラムが正しく動いているかを確認する作業のことです。デバッグと聞くと難しく感じるかもしれませんが、実際は「今、プログラムの中で何が起きているのかをのぞいてみる」作業です。たとえば、料理中に味見をするのと同じで、完成する前に状態を確認するイメージです。
プログラミング未経験の方でも、デバッグを覚えることで「なぜ動かないのか」「どこが間違っているのか」が分かるようになり、PHP学習が一気に楽になります。
2. var_dumpとは?値をそのまま詳しく確認する方法
var_dumpは、PHPのデバッグで最も基本的な命令です。変数(データを入れる箱)の中身を、型(文字か数字か)と内容をセットで表示してくれます。初めての方は「とりあえずvar_dump」と覚えても問題ありません。
<?php
$age = 20;
var_dump($age);
上記のコードを実行すると、次のように表示されます。
int(20)
これは「整数(int)で、値は20ですよ」という意味です。PHPでは、見た目が同じ20でも、文字なのか数字なのかが重要になるため、var_dumpはとても役立ちます。
3. print_rとは?配列の中身を見やすく表示
print_rは、特に配列(複数のデータをまとめて入れる箱)を確認するときに便利なデバッグ方法です。var_dumpよりも表示がシンプルなので、人の目で見て理解しやすい特徴があります。
<?php
$fruits = ["りんご", "みかん", "バナナ"];
print_r($fruits);
Array
(
[0] => りんご
[1] => みかん
[2] => バナナ
)
配列は初心者がつまずきやすいポイントですが、print_rを使えば「今、どんなデータが入っているのか」をすぐに確認できます。
4. var_dumpとprint_rの使い分け
どちらもPHPのデバッグでよく使われますが、目的によって使い分けると理解しやすくなります。正確さを重視するならvar_dump、見やすさを重視するならprint_rがおすすめです。
初心者のうちは、両方を実際に使ってみて「今はどちらが見やすいか」で選んでも問題ありません。デバッグに正解はなく、分かりやすい方法が一番です。
5. error_logとは?画面に出さず裏で確認する方法
error_logは、画面に表示せず、ログファイルという記録帳に情報を書き出すデバッグ方法です。本番環境(実際に公開しているサイト)では、画面にデバッグ内容を出すと危険な場合があるため、error_logが活躍します。
<?php
$username = "taro";
error_log($username);
この場合、ブラウザには何も表示されませんが、サーバー内のログに「taro」と記録されます。裏でメモを取るようなイメージです。
6. 初心者がデバッグでよくつまずくポイント
PHP初心者の方がよく困るのが「何も表示されない」「エラーが出ないのに動かない」という状態です。そんなときは、処理の途中にvar_dumpやprint_rを入れて、ここまで動いているかを確認してみてください。
<?php
$a = 5;
$b = 10;
var_dump($a + $b);
小さく区切って確認することで、原因を一つずつ見つけられるようになります。
7. PHPデバッグは怖くない
デバッグは「失敗を見つける作業」ではなく、理解を深めるための作業です。パソコンを触ったことがない方でも、表示された内容をそのまま読むだけで、PHPが何をしているのかが少しずつ見えてきます。
PHPのテストやデバッグを習慣にすることで、エラーに強くなり、自信を持ってコードが書けるようになります。