100day’s blog

思いついた事や、プログラミングの毎日の作業工程を短めにまとめてます。

vs codeにビルトインサーバーでxdebugを動かす。xdebug working on build in server

xamp pattern が多かったのでメモ。

 

If you need working by xdebug on build in server.

Use setting.js and launch.js with VS CODE

Attention please to check port in launch.js that is set build in server port.

Xdebug port and build in server port is not equal.

 

注意すべきはvs codeのlaunch.jsonに記載するビルドインサーバーのポートとxdebugのポートは別という点。

 

1 まずはmacxdebugインスト

qiita.com

上記を参照してインストまで。

 

php.ini参考(私の場合 xdebug.so位置が違う)

zend_extension = /usr/local/lib/php/20180731/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000

 

2 vscode

phpinfo()もしくは 再度php -i でxdebugインストが確認できたら,vscode側の設定

 

2-1 PHP DEBUG プラグインをインスト

2020年2月時点での 1.13.0を入れた

 

2-2 setting.jsonを設定

{
"git.ignoreLimitWarning": true,
"php.validate.executablePath": "/usr/local/opt/php@7.3/bin/php",
 
"php.validate.run": "onType"
}

phpのパスは which phpなどで確認

 

2-3 launch.jsonを設定

{
"version": "0.2.0",
"configurations": [
 
{
"name": "Listen for XDebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings": {
"${workspaceRoot}": "${workspaceRoot}"
}
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 8021,
"runtimeExecutable": "/usr/local/opt/php@7.3/bin/php"
}
 
]
 
}

 

あとは

php -S localhost:8021

で起動したbuild in server をxdebugが監視してくれる。