XAMPP のサービスで Visual Studio Code の PHP コードをデバッグするにはどうすればよいですか?

XAMPP のサービスで Visual Studio Code の PHP コードをデバッグするにはどうすればよいですか?

まず、XAMPP をオンにして、次のサービスを開始しました。

XAMPP で開始したサービス - スクリーンショット

ちなみに、PHP バージョンは 7.3.3 です。phpinfo()ブラウザで確認してみました。スクリーンショットは次のとおりです。

phpinfo() - スクリーンショット

そして私は行きました翻訳元このバージョンの Xdebug をダウンロードするには:

ダウンロードした Xdebug のバージョン - スクリーンショット

このファイルを にコピーするとC:\xampp\php\ext、 という名前のファイルがあることがわかりましたphp_xdebug.dll。とにかく、名前を変更せずに Xdebug ファイルをパスに呼び出しました ( php_xdebug-2.7.2-7.3-vc15-x86_64.dll)。

php.ini次に、インターネットの記事からコードをコピーしました。

zend_extension = "C:\xampp\php\ext\php_xdebug-2.7.2-7.3-vc15-x86_64.dll"
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_port = 9000

しかし、ポートが 9000 で、ポートがまったく機能しない理由がわかりません。Chromelocalhost:9000のアドレス バーに入力すると、結果ページには、localhost が接続要求を拒否したことが表示されます。

しかし、私はまだ続けました。VS Code に「PHP Debug」拡張機能をインストールしました。拡張機能はlaunch.json以下のとおりです。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

最後に、新しい PHP ファイルを作成してデバッグしました。ブラウザでファイルを開くと、デバッグ プログラムが動作しませんでした。問題がどこにあるのか、また正確なデバッグ手順を教えていただけますか?


更新: ついに問題が分かりました。9000 ポート番号が使用中でした。そこで、cmd に「netstat -ano」と入力して、ポート 9000 と対応する PID 値を見つけました。ここに画像の説明を入力してください次に、「taskkill /PID 4380 /F」と入力して、ポートを占有しているプロセスを強制終了します。最後に、PHP サービスを再起動します。これで、この問題は解決しました。ただし、XAMPP の phpinfo() で確認できる正しい xdebug バージョンがインストールされていることを確認してください。コメント エリアで助けてくれた友人たちに感謝します。

答え1

9000 ポートを開く必要はなく、次のようにデバッグを実行するだけです:

ここに画像の説明を入力してください

それから

ここに画像の説明を入力してください

PHPを選択

ここに画像の説明を入力してください

緑のアイコンを開始して再生

ここに画像の説明を入力してください

メソッドやコントローラにブレークポイントを追加する

ここに画像の説明を入力してください

ブレークポイントを管理する

ここに画像の説明を入力してください

関連情報