Visual Studio Codeの拡張機能「PHP Debug」を使ってPHPをデバッグします。
PHP Debugは、PHPデバッグの定番である拡張モジュール「Xdebug」を使用してVSCode上でPHPデバッグを可能にする拡張機能です。
ちなみに今回、以下の環境で実現しました。
- Windows 10 Home
- PHP 7.4.27(xampp 7.4.27)
- Visual Studio Code 1.63.2
- Xdebug 3.1.2
PHP Debugのインストール
VSCodeの左メニューから「拡張機能」のアイコンをクリックして、「PHP Debug」を検索してインストールします。
PHP Debugのインストールは以上です。
Xdebugのインストール
xamppにはデフォルトでXdebug 2.8.1が用意されているのですが、今回は3.xを使用したいので、公式サイトからdllをダウンロードします。
Xdebug: Support; Tailored Installation Instructions
こちらのページでは「<?php phpinfo() ?>」または、コマンドから「php -i」を実行した結果から、最適なXdebugのインストール方法を診断してくれます。今回はコマンドの実行結果を貼り付け「Analyse my phpinfo() output」ボタンを押します。
すると、dllの設置方法が表示されます。その中から「php_xdebug-3.1.2-7.4-vc15-x86_64.dll」を入手し、xamppを設置しているディレクトリ「…/xampp/php/ext/」に設置します。
「…/xampp/php/php.ini」をテキストエディタで開き、以下を追記します。
※パスは適宜調整します
[Xdebug 3.x] zend_extension = "C:\xampp\php\ext\php_xdebug-3.1.2-7.4-vc15-x86_64.dll" xdebug.mode=debug xdebug.start_with_request=yes
xampp control panelからApacheを再起動します。
Xdebugのインストールは以上です。
インストールが成功してるかどうかはphpinfo、またはコマンドラインからPHPのバージョンを出力すると確認することができます。
> php -v PHP 7.4.27 (cli) (built: Dec 14 2021 19:52:13) ( ZTS Visual C++ 2017 x64 ) Copyright (c) The PHP Group Zend Engine v3.4.0, Copyright (c) Zend Technologies with Xdebug v3.1.2, Copyright (c) 2002-2021, by Derick Rethans
ちなみに、こちらは古い環境(Xdebug 2.x)で使用していた内容です。3.xとは項目が異なるので注意が必要です。
[Xdebug] zend_extension = "C:\xampp\php\ext\php_xdebug.dll" xdebug.remote_autostart = 1 xdebug.profiler_append = 0 xdebug.profiler_enable = 0 xdebug.profiler_enable_trigger = 0 xdebug.profiler_output_dir = "c:\xampp\tmp" xdebug.remote_enable = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = "127.0.0.1" xdebug.remote_log="c:\xampp\tmp\xdebug.txt" xdebug.remote_port = 9000 xdebug.trace_output_dir = "c:\xampp\tmp" xdebug.remote_cookie_expire_time = 36000
PHPデバッグ
以上で準備は整ったので、実際にデバッグしてみます。
VSCodeの左メニューから「デバッグ」のアイコンをクリックして、ヘッド部分のプルダウンから「Listen for Xdebug」を選択し、緑色の再生ボタンをクリックすると、デバッグモードがスタートします。
細かい設定は省きますが、これでデバッグ環境が整いました。簡単ですね。
VSCodeもインタフェースも分かりやすいので、直感的にいろいろ操作できると思います。
コメントする