Developers/Getting Started/Developers Tools/Eclipse with XDebug

From Tine 2.0 - Wiki

< Developers‎ | Getting Started‎ | Developers Tools


Installing XDebug

Prerequisites

  • This guide assumes you know how to set up a working copy of Apache 2.x with PHP (MAMP, LAMP, etc).
  • It assumes that you have set up a database for egw 2.0 using a egw 1.4 database dump and created the appropriate config.ini
  • It also assumes that you have a working installation of Eclipse PDT.

To install XDebug, either:

Ubuntu/Debian

Installing using PEAR

You can install XDebug from the PEAR/PECL project. To do this we need to execute the following command as root:

apt-get install php5-dev php-pear

Now we can install XDebug using the PECL tool:

pecl install xdebug

When the compiler is done, you should see something like this

...
Build process completed successfully
Installing '/usr/lib/php5/20060613+lfs/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.0.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=xdebug.so" to php.ini

Now we still need to edit the php.ini. On Ubuntu Gutsy this is in /etc/php5/apache2/php.ini so we will do this:

nano /etc/php5/apache2/php.ini

Now find the section called "Dynamic Extensions" and add the following lines (notice the path to the module is part of the compiler output):

;;;;;;;;;;
; XDebug ;
;;;;;;;;;;

;load module
zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so"

;some options
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req

;The following IP should be of the host running Eclipse!
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=

;Only enable the following if you want profiler output (lots of data!)
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir=/var/log/XDebug/
;xdebug.profiler_enable_trigger=1

Now restart your (Apache) Webserver...

/etc/init.d/apache2 restart


Continue here -> Setting up Eclipse.


Setting up Eclipse

  1. Go to the Eclipse preferences dialog by selecting Window->Preferences.
  2. Now go to the "PHP" section and unfold it.
  3. Open the "PHP Servers" section.
    • Edit the Default Web Server
    • Change the name to "localhost"
    • Make sure the url reads "http://localhost/dev" - change to your taste but remember the "xdebug.remote_host"-directive in your php.ini!
    • Select "Publish Projects to this Server" and enter "/var/www/dev" as the path - change this to your taste, but remember you need write privileges (easiest is to chown "dev/")
    • Click OK
  4. Go to the PHP Executables section.
    • Edit the default entry
    • Enter a name e.g. "PHP5"
    • Enter the path to the executables (Ubuntu/Debian: /usr/bin)
    • Change the debugger to XDebug and click OK
  5. Now open the Debug Section.
    • Change the PHP Debugger to XDebug
    • Make sure the Webserver is correct (localhost)
    • Make sure the PHP Executable is correct (PHP5)
  6. Click OK to leave the preferences

Now we will perform the first debugger launch and complete setting up Eclipse.

  1. Open the "index.php" in the egroupware20 project.
  2. Now right click it and select Debug as=>PHP Web Page
  3. In the Dialog make sure the URL is correct
  4. Press F8 - you should now see something like this. - screenshot

Some shortcuts for the Eclipse debugger:

  • F8 lets the debugger run free
  • F6 Step over
  • F5 Step into