IT web開発

【PHP】xdebugの導入

2020年12月31日

みなさん、phpでデバックをする際に、var_dump関数や、var_export関数、echoやprintなどをしてデバックをすることが多いと思います。
ただ、どうしても表示がわかりづらく、私はかなり苦戦した記憶があります。
echo("<h1>$value</h1>")のようにして、表示の仕方を工夫させたりしているかと思います。
以下のように色合いもなく、ただ出力されてこの変数の値を読み解くのが少々めんどくさいです。

これをもっと見やすくするツール「xdebug」の導入について話したいと思います。

xdebugとは?

windowsでの導入方法

・windowsの場合、xamppのphp配下にxdebugフォルダを置いて、
php.iniにxdebug関連の設定をすることで対応できる
https://xdebug.org/download">#2_9_1
Xdebug 2.9.1 Release date: 2020-01-16 PHP 7.1 VC14 (64 bit)

macでの導入方法

MAMPをインストールすると、Xdebugも一緒にインストールされています。
しかし、デフォルトではXdebugは無効化されている為、有効化する必要があります。
https://qiita.com/y-ta/items/fc54af35026550eb5bc6
phpinfo()で最新の使用しているphpのバージョンが調べられる
PHP7.4.2なので、
find /Applications/MAMP -name "php.ini"
でphp7.4.2のphp.iniを表示する
/Applications/MAMP/bin/php/php7.4.2/conf/php.ini
上記ファイルに以下を記載する。
zend_extension="/Applications/MAMP/bin/php/php7.4.2/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so"
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.idekey=netbeans-xdebug
xdebug.profiler_enable=1
xdebug.profiler_output_dir="/Applications/MAMP/tmp"
(※ 1行目のzend_extensionはコメントアウトされているだけなので、それを解除してそれ以外を追記する)

以下のように記載します。

そして、apacheの設定をしたので設定反映するために再起動します。ローカルでGUIで使ってる場合は、一回停止させて再起動させます。
コマンドで扱いたい場合は、service httpd restartします

そしてサイト上でvar_dump()してみると以下のように綺麗に表示されるようになります。

xdebugを入れることで、エラーの表示も変わります。
オレンジを基調としたエラー表示でより一層気付きやすいですし、ヤバっと思えるようなデザインになっています。

-IT, web開発
-

© 2022 Yosshi Blog Powered by AFFINGER5