PHP アプリケーションを VSCode でデバッグする
PHP アプリケーションを VSCode でブレークポイントを入れて開発できるように設定する.
PHP の開発環境を整える
PHP アプリケーションの開発環境構築については M1 mac 環境に phpenv + php 7.4.30 + composer をインストールする 参照.
VSCode でデバッグできるようにする
次に PHP プロジェクトを VSCode でデバッグできるようにする.
ここでは PHP プロジェクトを php -S "0.0.0.0:8888" で起動しているものとする.
まず最初に VSCode を起動し、 File → Open Folder… から PHP プロジェクトのフォルダを開く.
(プロジェクトのルートディレクトリが VSCode 上できちんとルートディレクトリとして開かれるようにすべきだろう.)
次に、PHP スクリプトをデバッグするため Xdebug の VSCode 拡張をインストールする.
VSCode 上で Extentions を開き、 PHP Debug (https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug) という拡張機能をインストールする.
拡張機能がインストールできたら、デバッグのための構成情報 .vscode/launch.json を生成する.
手順は以下の通り.
-
Run and Debugを開き、左側ペイン上のcreate a launch.json fileをクリック. -
Select debuggerとポップアップが表示されるので、メニュー中からPHPを選択する. -
launch.jsonが生成されるので、Launch Built-in web serverの設定を以下のように設定する.
{
"version": "0.2.0",
"configurations": [
...
{
"name": "Launch Built-in web server",
"type": "php",
"request": "launch",
"runtimeArgs": [
"-dxdebug.mode=debug",
"-dxdebug.start_with_request=yes",
"-S",
"0.0.0.0:8888"
],
"program": "",
"cwd": "${workspaceRoot}",
"port": 9003,
"serverReadyAction": {
"pattern": "Development Server \\(http://localhost:([0-9]+)\\) started",
"uriFormat": "http://localhost:%s",
"action": "openExternally"
}
}
]
}
これらの設定ができたら、VSCode 上で停止させたい行にブレークポイントを設定した上で Run and Debug 画面で構成を Launch Built-in web server に変更した上で Start Debugging をクリックしてサーバーを起動させることで、自動的に PHP プロジェクトが 0.0.0.0:8888 で起動し、Xdebug サーバーが 9003 番ポートで起動して 8888 で起動している PHP プロジェクトを監視してくれるようになる.
したがって、 http://localhost:8888 などにブラウザからアクセスすることで PHP プログラムが指定されたブレークポイントで停止するようになる.
VSCode でのデバッガの設定については VSCode でデバッガを動かしてみる も参考になるかも.