Here are steps I took to successfully install and configure the xDebug PHP debugger to work with Sublime Text 2 (version 2.0.2) on a Windows 7 system.
(1) Installed xDebug 2.2.5 extension for PHP.
(a) Downloaded php_xdebug-2.2.5-5.4-vc9.dll from http://www.xdebug.org/download.php and placed it into C:/php/ext (or wherever you might have PHP installed).
Since I wasn't sure which version of the dll to use, I followed the "custom installation instructions" on the xDebug site, which were very helpful and indicated which dll should work on my system.
(b) Edited php.ini, adding the following line
zend_extension = ext\php_xdebug-2.2.5-5.4-vc9.dll(c) Restarted Apache. Loaded a page containing a call to phpinfo() to check that the extension was installed. On the page there appeared an xdebug section with several tables that showed settings and directives.
(2) Installed the Sublime package manager, "Package Control".
(a) Within Sublime, clicked Preferences > Browse Packages, then browsed up one level to find the full path for the Installed Packages folder. On my system the path is
C:/Users/Earl/AppData/Roaming/Sublime Text 2/Installed Packages
(b) Downloaded the file Package Control.sublime-package from https://sublime.wbond.net/Package%20Control.sublime-package
(c) Copied that file into the Installed Packages folder.
(d) Re-started Sublime.
In Sublime's Command Palette window, various Package Control commands were then available on the palette, such as Package Control: Install Package. You can also get to Package Control via the menu bar, Preferences > Package Control.
(3) Using Sublime's Package Control, installed the Xdebug Client package.
A couple of clicks. Done. In Sublime, this adds a submenu, Tools > Xdebug, or you can use the keyboard equivalents.
(4) Added further directives to php.ini for xDebug.
In php.ini created an [xdebug] section which includes the zend_extension directive added mentioned above.
[xdebug]Because I only want to debug locally, I set xdebug.remote_connect_back to 0 to turn it off. I believe this should be set to 1 if you intend to debug a site running on a remote system, but my understanding of these directives is pretty fuzzy at this point.
zend_extension = ext\php_xdebug-2.2.5-5.4-vc9.dll
xdebug.remote_enable = 1
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_mode = req
xdebug.remote_connect_back = 0
(5) To start an xDebug session.
To start a debugging session, I am loading the Drupal 8 site that contains the converted Optimizely module by appending the query string ?XDEBUG_SESSION_START=1 to the usual url, like so:
http://localhost/opti/index.php?XDEBUG_SESSION_START=1The value of XDEBUG_SESSION_START is a session name that is stored in a cookie, so it could be any name you choose.
There are other ways to start an xDebug session, but for getting started with using this debugger, this seemed like the simplest. Later, I may try to use one of the browser extensions that are available.
Finally, in Sublime itself, I do Start Debugging in order to activate the editor as an xDebug client.
Sweet!
Sources:
XDEBUG EXTENSION FOR PHP
http://xdebug.org/docs/remote
martomo / SublimeTextXdebug
https://github.com/martomo/SublimeTextXdebug
Package Control
https://sublime.wbond.net/installation#st2
Download: Package Control.sublime-package
https://sublime.wbond.net/Package%20Control.sublime-package
Thaaaaaaaaaaaaaaanks <3
ReplyDelete