ITブログ

Windows+NGINX+PHP+Xdebug+VisualStudioCodeデバッグ環境構築

Windows+NGINX+PHP8+Xdebug3をインストールして、VisualStudioCodeでデバッグする環境を構築します。

事前にWindows+NGINX+PHP8の環境を構築します。
Windows+NGINX環境構築手順の記事はこちらです。
 
Windows+NGINX+PHP8環境構築手順の記事はこちらです。
 
また、VisualStudioCodeはインストールされている前提です。
流れは以下になります。
 
1.VisualStudioCode拡張機能インストール
2.PHP拡張モジュールのphp_xdebug.dllをインストール
3.VisualStudioCodeでデバッグ開始
 
1.VisualStudioCode拡張機能インストール
VisualStudioCodeの "Extensions" ページで "PHP Debug" を検索して、"Xdebug" が開発者の "PHP Debug" 拡張機能をインストールします。
 
1.png
 
2.PHP拡張モジュールのphp_xdebug.dllをインストール
VisualStudioCode拡張機能 "PHP Debug" の画面に記載されている、PHP拡張モジュールのインストール手順のとおりインストールします。
 
2.png
 
まずtest.php等のスクリプトを用意して以下を記載します。
 
<?php phpinfo();
 
上記スクリプトをブラウザから実行するとPHP実行環境の情報が表示されるので、Ctrl + A ですべて選択してコピーします。
 
3.png
 
コピーしたphpinfo()関数の実行結果を、以下のURLのテキストエリアにペーストして、"Analyse my phpinfo() output" ボタンを押下します。
ペーストしたphpinfo()関数の実行結果を解析して、最適な php_xdebug.dll のバージョンが判定されます。
4.png
 
上記手順の結果画面のとおりにインストールを進めます。
6.png
 
1.結果画面のリンク(php_xdebug-~.dll)からDLLをダウンロードします。
2.ダウンロードされたファイルを、バージョン番号等を含まない "php_xdebug.dll" というファイル名に変更して、PHP拡張モジュールフォルダ(ext)に移動します。
3.php.iniファイルに zend_extension = xdebug を追記します。
  ※VisualStudioCode拡張機能 "PHP Debug" の画面に記載されている2行も追記します。
   追記する合計3行は以下になります。
   6.5.png
 
4.PHPを動作させているWebサーバー(PHP FastCGI)を再起動します。
 
3.VisualStudioCodeでデバッグ開始
最後にVisualStudioCodeのデバッグを設定します。"Run and Debug" を押すと、launch.jsonファイル未作成の場合は以下のような表示になります。
7.png
 
"create a launch.json file." を押下して launch.json ファイルを作成し、内容を以下のように変更して保存します。
Xdebug3デフォルトの9003ポートに接続する設定となっています。
8.png
 
"Run and Debug" を押して "Start Debugging" (再生アイコン)のボタン押下、またはF5キー押下でデバッグが開始します。
PHPスクリプトの行番号左側をクリックして赤丸の印(ブレークポイント)を付けた状態で、ブラウザでそのスクリプトにアクセスすると、ブレークポイントで処理を一時停止状態にすることができます。
デバッグコントロールパネルでステップ実行、ステップイン、ステップアウト等ができるようになっています。
9.png 11.png
 
"Stop" (停止アイコン)のボタン押下でデバッグが停止します。サーバーは停止しません。
 
以上がVisualStudioCodeでPHPをデバッグする手順となります。