I have installed VS Code and the PHP debugger.
I am using xampp.
I tried running the code (2) ways (listen and launch).
Listen just sits there while Launch shows spawn php ENOENT in the debug console.
This is my launch.json.
{ "version": "0.2.0", "configurations": [ { "name": "Listen for XDebug", "type": "php", "request": "launch", "port": 9000 }, { "name": "Launch currently open script", "type": "php", "request": "launch", "program": "${file}", "cwd": "${fileDirname}", "port": 9000 } ] }
What am I doing wrong?
Go to File->Preferences->settings->User settings tab->extensions->from the drop down select php->on the right pane under PHP › Validate: Executable Path select edit in settings. json. Found this solution from php not found visual studio. Thanks!
Visual Studio Code is a great editor for PHP development. You get features like syntax highlighting and bracket matching, IntelliSense (code completion), and snippets out of the box and you can add more functionality through community-created VS Code extensions.
Made it just now:
We have OS Windows with Microsoft Visual Code and we have installed 'PHP Debug' module https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug#overview Steps to make it working already wroten here, but I'll write again:
Install XDebug. Online Wizard https://xdebug.org/wizard.php helps you, just post here phpinfo() data. Save in phpinfo.php this:
<?php phpinfo(); ?>
then open in browser localhost/phpinfo.php
, copy everything you see (Ctrl+A then Ctrl+C) to wizard. It shows you obtained info and steps to do:
Open shown in instruction php.ini (there are always many php.ini - apache folder has one php.ini, php has php.ini and phpForApache.ini. But phpinfo makes it clear showing which one is really used)
2.1. and configure it with xdebug.remote_enable = 1
and xdebug.remote_autostart = 1
. My working example:
[XDebug] zend_extension = "c:\wamp64\bin\php\php7.1.9\ext\php_xdebug-2.6.0beta1-7.1-vc14-x86_64.dll" xdebug.stopOnEntry = true xdebug.profiler_enable = off xdebug.profiler_enable_trigger = Off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir ="c:/wamp64/tmp" xdebug.show_local_vars=0 ;xdebug.profiler_output_name = "cachegrind.out.%t-%s" xdebug.remote_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_handler = "dbgp" xdebug.remote_host = "127.0.0.1" xdebug.remote_log = "C:\wamp64\tmp\xdebug.txt" xdebug.remote_port = 9000 xdebug.trace_output_dir = "C:\wamp64\tmp" xdebug.remote_cookie_expire_time = 36000
Restart Apache2 webserver.
Also:
For some reason I first got xdebug working on Netbeans for testing, and only then I found option xdebug.remote_autostart = 1
in manual that made it working in VS Code also.
If you are unsure about XDebug installation, check phpinfo page for "with Xdebug" words and check logs/apache_errors.log
for "failed loading php_xdebug" (incorrect DDL downloaded). Then check with any other IDE.
Good regards!
For anyone looking answer today, for me helped changing in php.ini
section [XDebug] to this:
xdebug.mode = debug xdebug.start_with_request = yes zend_extension = "C:\xampp\php\ext\php_xdebug.dll" xdebug.stopOnEntry = true xdebug.profiler_enable = off xdebug.profiler_enable_trigger = Off xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.output_dir ="c:\xampp\tmp" xdebug.show_local_vars=0 xdebug.remote_handler = "dbgp" xdebug.client_host = "127.0.0.1" xdebug.log = "C:\xampp\tmp\xdebug.txt" xdebug.client_port = 9000 xdebug.remote_cookie_expire_time = 36000
I used the settings from post of @Eluny, but with some newer version of the XDebug the properties names changed. On documentation page you can find info about changes
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With