ubuntu 18.04 LTSで、PHPをデバッグする方法
ubuntuに、PHPとVS Codeをインストールします。詳細については、以下のサイトをご覧ください。
xn--o9j8h1c9hb5756dt0ua226amc1a.com
次に、VS Codeに拡張機能である「PHP Extension Pack」を追加します。これで、PHPをデバッグできるようになります。
では、PHPを設定します。
まず、apache2の拡張モジュールをインストールします。
sudo apt install php-xdebug
次に、PHPの設定ファイルである
の行末に、以下の設定を追加します。
[XDebug] xdebug.remote_enable = On xdebug.remote_port = 9000 xdebug.remote_autostart = On
加えて、/etc/php/7.3/apache2/conf.d/20-xdebug.iniに以下の設定を追加します。
zend_extension=/usr/lib/php/20180731/xdebug.so
また、/etc/apache2/mods-enabledの配下に、
- php7.3.confと
- php7.3.load
が存在するかどうかを確認します。
存在しない場合は、/etc/apache2/mods-available配下の
- php7.3.confと
- php7.3.load
からリンクを張ります。
また、php7.2.confとphp7.2.load、及び、php7.3.confとphp7.3.loadの両方が存在する場合は、php7..2.confとphp7.2.loadを削除します。
これで、設定は終了です。
あとは、apache2を以下のように再起動しましょう。
sudo systemctl restart apache2
以上で作業は終わりです。
VS Codeで、PHPファイルを開き、ブレークポイントを設定して、デバッグを開始すれば、ブレークポイントに停止するはずです。
以上。
追記(20201215)
xdebugがバージョン2からバージョン3になるにあたり、仕様の変更がなされました。php.iniに記述するパラメータが一新されました。
バージョン3系のxdebugを使用する場合、php.iniは、以下のパラメータを指定してください。
[XDebug] xdebug.client_host = localhost xdebug.client_port = 9003 xdebug.mode = debug xdebug.start_with_request = yes
VS CODEを使用する場合は、「PHP Debug」は、Ver.1.14.0以降を使用してください。Ver1.13.0では、ブレークポイントが設定できません。また、launch.jsonに記述するポート番号も、9003に変更してください。