VSCode+PHP+XDebugでコードをデバッグする

ツール
スポンサーリンク

VSCodeでphpのデバッグを行う方法です。phpのバッチ処理をデバッグする方法とXAMPP経由でWEBページをデバッグする方法の2本立てで紹介します。

※PHPは、汎用スクリプト言語で特にWEB開発に適しています。詳細は公式サイトをご参照ください。

拡張機能 PHP DEBUG をインストール

phpのでデバッグを行うために拡張機能をインストールします。バッチ処理、WEBページ共通です。

phpのバッチ処理をデバッグ

プログラムを実行するための構成を作成

実行のビュー(デバッグのアイコンのとこ)を開き、構成の追加を選択します。言語はPHPです。

lanch.jsonのconfigurationsに以下の設定を追加します。ポイントは、runtimeExecutableに自分の開発環境のphpのexeへのパスを正しく設定することです。

{
    "name": "Launch currently open script",
    "type": "php",
    "request": "launch",
    "program": "${file}",
    "cwd": "${fileDirname}",
    "runtimeExecutable": "C:\\php\\php.exe",
    "port": 9000
}

バッチファイルのデバッグ確認

バッチ処理用のphpのファイルにブレークポイントを設定します。実行のリストボックスで「Launch currently open script」を選択し実行します。ブレークポイントで止まれば、正常にデバッグできています。

WEBページのデバッグ

XAMPPのインストール

ローカルにPHPの開発環境を簡単に導入するため、XAMPPをインストールします。インストール方法については、検索してみてください。

フォルダの構成

ここでは、Cドライブ直下に色々インストールしていると想定しています。また、「sample01」をVSCodeで使用するワークスペースのフォルダとします。この配下にphpファイルを配置する想定です。

C:\xampp\htdocs\sample01

PHPのiniにデバッグの設定追加

「C:\xampp\php\php.ini」ファイルを開き、以下を追加します。

[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension=”xdebug”

「php_xdebug.dll」が「C:\xampp\php\ext」配下に存在しない場合は、以下のサイトからダウンロードし、「php_xdebug.dll」の名前で配置してください。

xdebugのダウンロード:https://xdebug.org/download

プログラムを実行するための構成を作成

実行のビュー(デバッグのアイコンのとこ)を開き、構成の追加を選択します。言語はPHPです。バッチのときと同様です。lanch.jsonのconfigurationsに以下の設定を追加します。

{
    "name": "Listen for XDebug",
    "type": "php",
    "request": "launch",
    "port": 9000,
    "pathMappings": {
        // 左辺サーバ:右辺ローカル
        "${workspaceRoot}": "${workspaceRoot}"
    }
}

今回は、xamppでのデバッグなので、pathMappingsは両方同じにしてあります。

WEBページのデバッグ確認

以下の手順でVSCodeでデバッグできることを確認します。

  1. VSCodeでソースにブレークポイントを設定
  2. Xamppのコントロールパネルから、Apacheを起動します。
  3. VSCodeの実行のリストボックスで「Listen for XDebug」を選択し実行します。
  4. ブラウザで、ブレークポイントを設定したページを開きます。

phpファイルのブレークポイントで止まれば、正常にデバッグできています。

参考

lanch.jsonの設定は、最終的に以下のような感じになります。参考までに

 

コメント