Eclipse PHP Debug

From campisano.org
Jump to navigation Jump to search

Eclipse for PHP

Get Eclipse classic version

<pre:> wget http://eclipse.c3sl.ufpr.br/eclipse/downloads/drops4/R-4.2.1-201209141800/eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz tar -xzf eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz ./eclipse/eclipse

  1. Workspace: "/home/MYHOME/eclipse/wtp" # check 'use this as the default'


Get PDT and WTP plugins

# open Eclipse
# Help -> Install New Software
# optionally uncheck 'Group items by category' to speed up the search
# Work with: --All Available Sites--
# search for "pdt"
# check 'PHP Development Tools (PDT) SDK Feature'
# search for "web"
# check 'Eclipse Web Developer Tools'
# search for "javascript"
# check 'JavaScript Development Tools'
# search for "", clear the search field
# click on 'Next >' button
# click on 'Next >' button
# accept the license
# click on 'Finish' button
# wait and restart Eclipse


Install Apache with PHP Xdebug component

 
su - root
apt-get install apache2 php5-dev libapache2-mod-php5 php-pear
pecl install xdebug
find /usr/lib -name 'xdebug.so' # get the output, ex. /usr/lib/php5/20090626+lfs/xdebug.so
nano /etc/php5/apache2/php.ini
### add this at the end of file ###
zend_extension="THE OUTPUT OF LAST FIND COMMAND"
xdebug.remote_mode="req"
xdebug.remote_enable=On
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
### end add ###
/etc/init.d/apache2 restart
exit


Create an external Project

chmod 777 /var/www/ # warning, involve security issues
# open Eclipse
# File -> New -> Project # choose PHP -> PHP Project
# Project Name: "TestPDTDebug"
# click on 'Finish' button
# open the PDT perspective
# ProjectExplorer -> TestPDTDebug -> New -> Folder
# Advanced -> Link to alternate location -> "/var/www/TestPDTDebug"


Debug a PHP example

# ProjectExplorer -> TestPDTDebug -> TestPDTDebug -> New -> PHP File
# File name: "index.php"
### add this in index.php ###
<html>
<body>
<?php
foreach ($_SERVER as $item_key => $item_value)
{
    echo "_SERVER[" . $item_key . "] = " . $item_value . "<br/";
}
?>
</body>
</html>
### end add ###
# Run -> Debug configurations
# select 'PHP Web Application'
# right click 'New'
# Name: "TestPDTDebug_index.php"
# File: "/TestPDTDebug/TestPDTDebug/index.php"
# uncheck URL -> Auto Gerate'
# Url: "http://localhost/" "/TestPDTDebug/index.php"
# under 'Debugger' tab -> Server Debugger: XDebug
# click 'Apply'
# click 'Debug'