変数を簡単に見るには、ステップ実行するのが一番の近道かなと思います。
今回、PHPの開発に携わる機会があり、xampp環境でステップ実行するための環境を作ったんですが、うまくいかない。。。。
何がうまくいかないか。というと「ブレークポイントを設定しても止まらない」です。
環境は、以下の通りです。
・PHP Version 8.0.0
・Xdebug 3.0.1
・Visual Studio Code 1.52.1
・PHP Debug 1.14.5(Visual Studio Code のデバッグ用プラグイン)
環境により違いはあると思いますが、この環境においての原因は以下の2点でした。
・Xdebug v3.0.0系より、php.iniに書く設定が変わった
・デバッグ用のポート番号が変わった
対策は以下の2つ。
1.PHP.iniの設定
2.lunch.jsonの設定
1.PHP.iniの設定
[XDebug]
xdebug.mode=debug
xdebug.start_with_request=yes
zend_extension = C:\xampp\php\ext\php_xdebug-3.0.1-8.0-vs16-x86_64.dll
うまくいっている場合、↓のURLで確認ができる。http://localhost/dashboard/phpinfo.php
xdebugの「Step Debugger」が「enabled」になっていたらOK。
zend_extensionはバージョンによって異なる。コイツの導き出し方は、他のサイトを探してみてください。
2.lunch.jsonの設定
ポート番号が変わったらしい。その設定を合わせる。 9001→9003
{
// IntelliSense を使用して利用可能な属性を学べます。
// 既存の属性の説明をホバーして表示します。
// 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
'version': '0.2.0',
'configurations': [
{
'name': 'Listen for XDebug',
'type': 'php',
'request': 'launch',
'port': 9003,
'runtimeExecutable': 'C:\\xampp\\php\\php.exe'
},
{
'name': 'Launch currently open script',
'type': 'php',
'request': 'launch',
'stopOnEntry': true,
'program': '${file}',
'cwd': '${fileDirname}',
'port': 9003,
'runtimeExecutable': 'C:\\xampp\\php\\php.exe'
}
]
}
設定の変更は、Visual Studio Codeのメニュー「実行(R)」→「構成を開く」で編集できます。
Lunch Currently open Scriptを選択し、F5でデバッグスタート。
ブレークポイントを設定しておくと、そこで止まるようになりました。
0 件のコメント:
コメントを投稿