経緯
ちょっとしたサンプルプログラムをホストマシンで試すときに、いつも var_dump()
デバッグ使ってたけどちょっとしたサンプルプログラムだろうが何だろうが Xdebug 使ったほうがもっと楽になるよね、ハム太郎。
手順
Debug Build
が no
になっていることを確認
$ php -i | grep 'Debug Build' Debug Build => no
ついでに Xdebug がインストールされていないことも確認
$ php -m | grep xdebug
何も表示されなければOK
Xdebug のインストール
- 下記のダウンロードサイトから Xdebug をDLする。
http://www.xdebug.org/download.php
※どのversionをDLすればいいかわからない場合は$ php -i | pbcopy
を下記にペーストして調べる。
https://xdebug.org/wizard 解凍して任意のディレクトリに移動
$ tar -zxvf ~/Downloads/xdebug-xxx.tgz && mv ~/xdebug-xxx ~/{任意のディレクトリ} && cd ~/{任意のディレクトリ}/xdebug-xxx
xdebug-xxx ディレクトリにいる状態で以下を順に実行していく
$ phpize $ ./configure $ make
完了したら
modules
ディレクトリにxdebug.so
があることを確認する
ない場合はどこかの手順でエラーが出ているはずなので随時解消するphp.ini の修正
php.iniの場所を確認
$ php --ini Configuration File (php.ini) Path: /opt/homebrew/etc/php/7.4 Loaded Configuration File: /opt/homebrew/etc/php/7.4/php.ini Scan for additional .ini files in: /opt/homebrew/etc/php/7.4/conf.d Additional .ini files parsed: /opt/homebrew/etc/php/7.4/conf.d/ext-opcache.ini
xdebug.so
までのフルパスを追記zend_extension={xdebug.so までのフルパス}
Xdebug が有効になっていることを確認する
$ php -m | grep xdebug xdebug
xdebug
が表示されればOK
VSCodeの設定
- 拡張機能
PHP Debug
をインストールする
VSCodeの拡張機能でphp debug
で検索、もしくは下記よりインストールする
https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug - プロジェクト直下に
.vscode/launch.json
を作成する
⌘ + Shift + D でデバッグメニューを表示すると初回は launch.json を作る、みたいなリンクがあるのでクリックする
プロジェクト直下に.vscode/launch.json
が作成されることを確認 php.ini に
configurations.port
の番号を指定zend_extension={xdebug.so までのフルパス} [PHP] xdebug.mode=coverage,develop,debug xdebug.discover_client_host=1 xdebug.client_port=9003 ; .vscode/launch.json の configurations.port の値を貼り付ける xdebug.start_with_request=yes
Xdebug2と3で設定値の名前が結構変わっているのでversionごとの違いは下記を参照
確認
適当なプログラムにbreakpointを設定して止まればOK
参考
株式会社エイルシステムではWebエンジニア・モバイルアプリエンジニアを募集しています。
実務経験がなくてもOKです。ご興味のある方は弊社HPよりご連絡ください。