Featured image of post 【Wordpress】PHPで変数や文字列をerror_log関数を使ってデバッグログに出力する方法【var_dump?echo?】

【Wordpress】PHPで変数や文字列をerror_log関数を使ってデバッグログに出力する方法【var_dump?echo?】

662文字

デバッグしたい

Wordpressなどを使っていて、PHPの構文をちょっとカスタマイズする際に、動作確認を並行しながら修正をしたいケースがあると思います。
デバッグせずに本番環境にあげたり公開してしまうと、システムエラーが発生するなどで利用者全体に影響が出てしまう恐れがあります。

PHPはスクリプト言語(非コンパイル言語)なので、IDEを使わずに単なるテキストエディターで開発も出来てしまうので、デバッガーを使う、と言うことはほとんどないと思います。

そんな時は、都度変数の中身等をログに出力して、期待している値や処理が行われているかを確認する必要があるのですが、このログに出す方法がちょっとややこしいので、毎回忘れてしまいます。orz

今回はそんなお忘れ仲間のためになればと備忘録として記します。

ログの出し方

シンプル

やり方はとても簡単です。
error_log関数を使えば簡単に出力出来ます。

error_log
bool error_log ( string $message [, int $message_type = 0 [, string $destination [, string $extra_headers ]]] )

引数説明必須
$messageログに出力するメッセージ
$message_typeメッセージをどこに出力するのかの指定
$destinationメッセージの送信先
$extra_headers追加のヘッダ

任意の引数が複数ありますが、デバッグ目的であれば特に指定する必要はありません

以下のように、ログに出したいものだけを引数に指定することでログにメッセージが出力されます。

出し方
$hoge = "fuga";
error_log($hoge); // fuga
error_log("fuga"); // fuga

終わりに

基本的にはこれで問題なくデバッグしながら開発を進めれるようになります。

もし、出力されない場合はWordperssのデバッグ周りの設定が原因かと思われるので、その辺も合わせて調整してみてください♪