環境・やりたいこと
Windows10
Vagrant
Homestead
Laravel5.5
vscode1.28.2
PHP Debug1.12.6
上記の環境でXdebugを使ってデバッグを行いたいです。
毎回dd()してブラウザで変数の中身を確認するのが面倒で探していたらXdebugを見つけました。
もっと楽にデバッグ、開発できる方法があれば併せて教えていただけると幸いです。
試したこと
色んなサイトを見ながら設定を下記のようにしました。
/etc/php/7.2/fpm/conf.d/20-xdebug.ini
zend_extension=xdebug.so xdebug.remote_enable = 1 xdebug.remote_connect_back = 1 xdebug.remote_port = 9000 xdebug.max_nesting_level = 512 xdebug.remote_autostart=1
xdebug.remote_connect_back = 1
としているのは別のプロジェクトを作ったときにhostを設定する必要が無さそうだったからです。
launch.json
{ "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000, "pathMappings": { "/home/vagrant/code/myproject/Laravel": "${workspaceRoot}" } }, { "name": "Launch currently open script", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 9000 } ] }
エラー
ブレークポイントを指定?しても画像のような状態から変わりません。
{ Error: spawn php ENOENT at _errnoException (util.js:1024:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19) at onErrorNT (internal/child_process.js:372:16) at _combinedTickCallback (internal/process/next_tick.js:138:11) at process._tickCallback (internal/process/next_tick.js:180:9) code: 'ENOENT', errno: 'ENOENT', syscall: 'spawn php', path: 'php', spawnargs: [ 'd:\develop\Homestead\project\~\Controller.php' ] }
Listen for XDebug
{ Error: listen EADDRINUSE :::9000 at Object._errnoException (util.js:1024:11) at _exceptionWithHostPort (util.js:1046:20) at Server.setupListenHandle [as _listen2] (net.js:1351:14) at listenInCluster (net.js:1392:12) at Server.listen (net.js:1476:7) at Promise (c:\Users\~.vscode\extensions\felixfbecker.php-debug-1.12.6\out\phpDebug.js:236:24) at new Promise (<anonymous>) at createServer (c:\Users\~.vscode\extensions\felixfbecker.php-debug-1.12.6\out\phpDebug.js:184:40) at PhpDebugSession.<anonymous> (c:\Users\~.vscode\extensions\felixfbecker.php-debug-1.12.6\out\phpDebug.js:240:27) at Generator.next (<anonymous>) code: 'EADDRINUSE', errno: 'EADDRINUSE', syscall: 'listen', address: '::', port: 9000 }
エラー内容を検索してもめぼしい情報を目つけることが出来ませんでした。
よろしくお願いします。
あなたの回答
tips
プレビュー