UPDATE:
I've spent way too much time on this and have decided to ditch it and continue using the clunky NetBeans.
ORIGINAL QUESTION:
I'm having some difficulty getting xdebug to work with sublime text 2.
What I have done so far is install:
If I then use sublime to open a php file and press shift+f8, the xdebug menu pops up from which I can add/remove breakpoint
and also start debugging
.
Some php:
Menu drops down when I press shift+f8:
Debugging started:
In that image it says:
Xdebug: No URL defined in project settings file
Info.sublime-project contains:
{
"folders":
[
{
"path": "/var/www"
}
],
"settings": {
"xdebug": { "url": "http://localhost" }
}
}
As you can see from the 3rd screenshot, I have started debugging and nothing happens, no errors, no browser window opens, nothing. If I manually navigate to localhost/info.php
, the page loads as normal. If I manually add ?XDEBUG_SESSION_START=sublime.xdebug
to the end of the url so localhost/info.php?XDEBUG_SESSION_START=sublime.xdebug
and hit refresh on the browser, the page loads as normal and debugging still doesn't start.
What am I doing wrong?
UPDATE: Some info about ports:
Before trying to start xdebug via sublime text 2
oshirowanen@ubuntu:~$ netstat -antp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 90.190.20.220:54913 90.180.80.70:443 ESTABLISHED 2439/python
tcp 0 0 90.190.20.220:51727 190.40.210.160:443 TIME_WAIT -
tcp 1 0 90.190.20.220:50967 90.180.90.20:80 CLOSE_WAIT 2349/ubuntu-geoip-p
tcp6 0 0 :::80 :::* LISTEN -
oshirowanen@ubuntu:~$
After starting chromium manually and starting xdebug via sublime text 2
oshirowanen@ubuntu:~$ netstat -antp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:17500 0.0.0.0:* LISTEN 2241/dropbox
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:59424 127.0.0.1:80 ESTABLISHED 2924/chromium-brows
tcp 0 0 127.0.0.1:43123 127.0.0.1:9000 ESTABLISHED -
tcp 0 0 127.0.0.1:9000 127.0.0.1:43123 ESTABLISHED 2903/sublime_text
tcp 0 0 90.190.20.220:40809 170.190.40.70:443 ESTABLISHED 2924/chromium-brows
tcp 0 0 90.190.20.220:54913 90.180.80.70:443 ESTABLISHED 2439/python
tcp 0 0 90.190.20.220:43900 170.190.70.90:443 ESTABLISHED 2924/chromium-brows
tcp 0 0 90.190.20.220:35259 170.190.70.100:443 ESTABLISHED 2924/chromium-brows
tcp 0 0 127.0.0.1:59426 127.0.0.1:80 TIME_WAIT -
tcp 0 0 90.190.20.220:37922 170.190.70.90:443 ESTABLISHED 2924/chromium-brows
tcp 1 0 90.190.20.220:50967 90.180.90.20:80 CLOSE_WAIT 2349/ubuntu-geoip-p
tcp 0 0 90.190.20.220:40847 170.190.40.60:80 ESTABLISHED 2924/chromium-brows
tcp6 0 0 :::80 :::* LISTEN -
tcp6 0 0 127.0.0.1:80 127.0.0.1:59423 TIME_WAIT -
tcp6 0 0 127.0.0.1:80 127.0.0.1:59424 ESTABLISHED -
oshirowanen@ubuntu:~$
Some tips:
Check that Xdebug is running checking the information generated by the phpinfo command.
Enable remote debugging in the xdebug configuration (and verify again with the phpinfo command):
xdebug.remote_enable=1
I don't use the xdebug setting in Sublime Text. I think it is not necessary.
Open the console in Sublime Text. Any problem is logged in the console. There are some problems in Ubuntu reported in the pulgin homepage.
I use a browser extension to activate or deactivate the debugging. In Chrome look for "Xdebug Helper for Chrome". You need to configure the cookie name as "sublime.xdebug".
I use Easy xDebug for firefox to kick start the debug session and that works a charm. You need to use "sublime.xdebug" for the idekey.
I presume that you've got some break points in there? Your screenshots imply that you do but make sure that you use the shift+f8 menu to add them.
You have got a problem in your configuration, it is using the wrong syntax (according to Issue #13):
{
"folders":
[
{
"path": "/var/www"
}
],
"settings": { <<<==== problem here
"xdebug": { "url": "http://localhost" }
}
}
Instead it should be:
{
"folders":
[
{
"path": "/var/www"
}
],
"xdebug":
{
"url": "http://localhost"
}
}
This is probably also causing it not working.
I experienced the same issue and submitted bug report here:
https://github.com/Kindari/SublimeXdebug/issues/58
However, it may be socket related bug in XDebug itself: