VSCodeでPHPのデバッグとブレークポイントを有効化する方法

ローカル環境でVSCodeを使って開発中のphpファイルに対して、下記の様にブレークポイントを貼り、有効化させるのに3時間ぐらいかかった。

アプリ
クライアントChrome1. Chromeで、localhost にアクセスする(portも正しく指定すること)

サーバーVSCode2. すると、VSCodeで設定したブレークポイントにヒットした場合に、そこでファイルの読み込みが一時停止する。

ここでは、何をしたらこのような設定が出来たのか、書いておく。

開発環境: Windows10 + VSCode + XAMPP Version 8.2.12 + PHP 8.2.12

1.拡張機能のインストール

VSCodeの拡張機能、PHP Debugをインストールする。同じ名前がいくつかあるが、Xdebugを選ぶ。

2.PHP.iniファイルの編集

PHP.iniファイルを編集して、下記、xdebugに関する設定を下記のようにする。

[PHP]
...
zend_extension = xdebug
xdebug.mode = debug
xdebug.start_with_request = yes

 自分の環境では、下記の箇所を修正した。

3. launch.jsonファイルの編集

 VSCodeのデバッグメニューから、歯車をクリックすると launch.jsonファイルが開く。 

“Launch built-in server and debug”

 ファイルの”configurations”に、”Launch built-in server and debug”が設定されていることを確認する。特に、”runtimeArgs”の”-S”の値が重要。
 自分の環境では、”localhost:8000″と設定していることを確認した。

{
    // IntelliSense を使用して利用可能な属性を学べます。
    // 既存の属性の説明をホバーして表示します。
    // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch built-in server and debug",
            "type": "php",
            "request": "launch",
            "runtimeArgs": [
                "-S",
                "localhost:8000",
                "-t",
                "."
            ],
            "port": 9003,
            "serverReadyAction": {
                "action": "openExternally"
            }
        },

4. PHP Pathの確認

 設定で、PHP Server configurationのうち、PHP Pathを確認し、php.exeへのPathが設定されているか確認する。
($PATHに設定がされている場合、空欄で良いらしい)

5. ブレークポイントの設定とデバッグの実行

 ファイルにブレークポイントを貼り、”Launch built-in server and debug”を選択したうえで、デバッグを実行する。

 三角マークをクリックすると実行となり、VSCodeの画面に下記、デバッグメニューが表示される。

6. クライアントからアクセスする

 ローカルPCでChromeを立ち上げ、”localhost:8000″にアクセスする。(通常、 index.htmlや index.phpにアクセスすることになる)

 

結果:index.phpファイルに設定したブレークポイントにヒットして、一時停止になる。

この状態になれば、観察したい変数をウォッチ式で見たり、ステップオーバーやステップインで1行ずつパスの確認をする等して、デバッグを進めることが出来る。