Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
vms:webdev:phpfarm:xdebug [2015/05/06 16:31] admin [Configuring Apache fcgid Timeout] |
vms:webdev:phpfarm:xdebug [2016/11/29 23:58] admin [Install Package php-debug (0.2.4)] |
||
---|---|---|---|
Line 9: | Line 9: | ||
XDebug can be [[http://xdebug.org/download.php|downloaded in a variety of versions]] or even built from [[https://github.com/derickr/xdebug|sources]]. | XDebug can be [[http://xdebug.org/download.php|downloaded in a variety of versions]] or even built from [[https://github.com/derickr/xdebug|sources]]. | ||
- | Although the easier way to get it running is using Xdebug's website [[http://xdebug.org/wizard.php|installation wizard]] that will help you determine what to do to get XDebug working on your system. Follow the simple instructions and you'll soon have XDebug installed and running. | + | Although the easiest way to get it running is using Xdebug's website [[http://xdebug.org/wizard.php|installation wizard]] that will help you determine what to do to get XDebug working on your system. Follow the simple instructions and you'll soon have XDebug installed and running. |
First refer to [[vms:webdev:apache#make_sure_everything_is_running as_expected|this section of the wiki]] to have PHP output it's configuration summary, and copy/paste it in the above mentioned [[http://xdebug.org/wizard.php|XDebug wizard]]. | First refer to [[vms:webdev:apache#make_sure_everything_is_running as_expected|this section of the wiki]] to have PHP output it's configuration summary, and copy/paste it in the above mentioned [[http://xdebug.org/wizard.php|XDebug wizard]]. | ||
Line 167: | Line 167: | ||
---- | ---- | ||
===== Setting up Xdebug’s remote debug with InteeliJ IDEA (14.1.1) ===== | ===== Setting up Xdebug’s remote debug with InteeliJ IDEA (14.1.1) ===== | ||
- | ---- | ||
=== PHP Remote Interpreter plugin: === | === PHP Remote Interpreter plugin: === | ||
Line 195: | Line 194: | ||
From top right icons menu of main IntelliJ IDEA's project window, use "down arrow" button (Select Run/Debug configuration), then "Edit configurations..."\\ | From top right icons menu of main IntelliJ IDEA's project window, use "down arrow" button (Select Run/Debug configuration), then "Edit configurations..."\\ | ||
+ | |||
+ | ===== Setting up Xdebug’s remote debug with Atom (1.12.5) ===== | ||
+ | |||
+ | === Install Atom Package php-debug (0.2.4) === | ||
+ | * Open the Atom editor and open settings: Edit > Preferences (ctrl-,) | ||
+ | * Select "Install" from the left menu | ||
+ | * Type "php-debug" in Search packages field, then //return// to launch the search | ||
+ | * php-debug should appear on top of the list, click the "Install" button | ||
+ | * Read the README that is displayed | ||
+ | |||
+ | === Configure Xdebug === | ||
+ | You have to configure Xdebug for the specific PHP version that you want to debug with, so you'll have to adapt the following with the corresponding location. | ||
+ | |||
+ | In this case we'll configure our PHP version 5.6.27 to debug from Atom. First we'll edit our ''php.ini'' file: | ||
+ | |||
+ | <code> | ||
+ | > sudo nano /opt/phpfarm/inst/php-5.6.27/lib/php.ini | ||
+ | |||
+ | PASTE AT EOF (removing any existing [xdebug] lines): | ||
+ | [xdebug] | ||
+ | zend_extension = "/opt/phpfarm/inst/php-5.6.27/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so" | ||
+ | xdebug.profiler_output_dir = "/tmp/xdebug" | ||
+ | xdebug.trace_output_dir = "/tmp/xdebug" | ||
+ | ; additional settings (atom) | ||
+ | xdebug.remote_enable=1 | ||
+ | xdebug.remote_handler=dbgp | ||
+ | xdebug.remote_mode=req | ||
+ | xdebug.remote_host=172.20.20.2 | ||
+ | xdebug.remote_port=9000 | ||
+ | xdebug.idekey=xdebug.atom | ||
+ | xdebug.remote_autostart=true; | ||
+ | xdebug.collect_params=4 | ||
+ | xdebug.collect_vars=on | ||
+ | xdebug.show_local_vars=on | ||
+ | |||
+ | > sudo service apache2 restart | ||
+ | </code> | ||
+ | |||
+ | To make sure those values have been taken into account, load the phpinfo page created earlier and check the //**xdebug**// section to make sure the displayed values are in concordance with the ones you've introduced in the ''php.ini'' file. | ||
+ | |||
+ | With these settings, PHP will **connect to your editor for every script it executes**. The alternative is to use ''xdebug.remote_autostart=false'', and install an Xdebug helper extension for your browser of choice, such as: | ||
+ | * [[https://addons.mozilla.org/en-US/firefox/addon/the-easiest-xdebug/|The easiest Xdebug for Mozilla Firefox]] | ||
+ | * [[https://chrome.google.com/webstore/detail/xdebug-helper|Xdebug Helper for Google Chrome]] | ||
+ | |||
+ | These browser extensions will give you a button within your browser to enable/disable Xdebug. |