--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>net.sourceforge.phpeclipse.help</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: PHpEclipse Help Plug-in
+Bundle-SymbolicName: net.sourceforge.phpeclipse.help; singleton:=true
+Bundle-Version: 1.2.0
+Bundle-Vendor: PHPEclipse Team
--- /dev/null
+bin.includes = plugin.xml,\
+ META-INF/,\
+ html/,\
+ *.xml
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Installing PHPEclipse</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="pt01.html" title="Part I. Getting Started with PHPEclipse"><link rel="prev" href="pt01.html" title="Part I. Getting Started with PHPEclipse"><link rel="next" href="ar01s02.html" title="Installing the PHPEclipse Plugin"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Installing PHPEclipse</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="pt01.html">Prev</a> </td><th width="60%" align="center">Part I. Getting Started with PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar01s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="phpeclipse.installing"></a>Installing PHPEclipse</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Ian</span> <span class="surname">MacLennan</span></h3></div></div><div><div class="legalnotice"><a name="id2588228"></a><p></p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ar01.html#phpeclipse.installing.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar01s02.html">Installing the PHPEclipse Plugin</a></span></dt><dt><span class="sect1"><a href="ar01s03.html">Conclusion</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.installing.introduction"></a>Introduction</h2></div></div></div><p>This tutorial assumes that you have already installed Eclipse on
+ your machine and would like to install the PHPEclipse plugin. If you have
+ not already installed Eclipse, then please visit <a href="http://www.eclipse.org/downloads/" target="_top">http://www.eclipse.org/downloads/</a>and
+ download and install Eclipse. Note that there are multiple packages that
+ can be downloaded. Any of these packages is sufficient. This tutorial will
+ be based on the Eclipse IDE for C/C++ Developers package but the
+ instructions will be similar regardless of which one you choose.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="pt01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Part I. Getting Started with PHPEclipse </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Installing the PHPEclipse Plugin</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Installing the PHPEclipse Plugin</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar01.html" title="Installing PHPEclipse"><link rel="prev" href="ar01.html" title="Installing PHPEclipse"><link rel="next" href="ar01s03.html" title="Conclusion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Installing the PHPEclipse Plugin</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01.html">Prev</a> </td><th width="60%" align="center">Installing PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar01s03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.installing.installingplugin"></a>Installing the PHPEclipse Plugin</h2></div></div></div><p>The first step is to install the PHP Eclipse plugin. To start this
+ process, click on <span class="guimenu">Help</span>, select <span class="guisubmenu">Software
+ Updates</span>and click <span class="guimenuitem">Find and
+ Install</span></p><div class="figure"><a name="phpeclipse.installing.findandinstall"></a><p class="title"><b>Figure 1. Installing Additional Eclipse Features</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="findandinstall.png" alt="Installing Additional Eclipse Features"></div></div></div></div><p><br class="figure-break"></p><p>When that option is selected, a window will appear providing two
+ options: 'Search for updates of the currently installed features' and
+ 'Search for new features to install'. Since we want to install a new
+ feature, select the second option and click 'Next'.</p><div class="figure"><a name="phpeclipse.installing.installupdate"></a><p class="title"><b>Figure 2. The Install/Update Window</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="installupdate.png" alt="The Install/Update Window"></div></div></div></div><p><br class="figure-break"></p><p>In order to install PHPEclipse, you must tell Eclipse where to find
+ it. On the top right of the window that appears, there will be a button
+ labeled 'New Remote Site...'. When you click on this button, a window will
+ appear requesting the Name and URL of the site to be added. Enter
+ 'PHPEclipse Nightly Builds' in the Name field and
+ <code class="uri">http://update.phpeclipse.net/update/nightly/</code> in the URL
+ field.</p><div class="figure"><a name="phpeclipse.installing.newupdatesite"></a><p class="title"><b>Figure 3. New Update Site Window</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="newupdatesite.png" alt="New Update Site Window"></div></div></div></div><p><br class="figure-break"></p><p>To continue, select the 'Europa Discovery Site', 'PHPEclipse Nightly
+ Builds' and 'The Eclipse Project Updates' update sites and then click
+ Finish. Windows will then appear asking you to select mirrors for each
+ site. Select which ever mirrors are closest to you and click OK.</p><p>Once you have selected each mirror, Eclipse will search the
+ specified update sites for additional features that can be installed. Once
+ it has done this, it will present you with the list of features so that
+ you can select which ones you would like to install. The features we are
+ interested in installing are the PHPEclipse Nightly Builds. Select this
+ feature by clicking on the checkbox that is beside it. This will, in
+ addition to installing the PHPEclipse plugin, also install the dbg Debug
+ Feature and the Xdebug Feature. You can deselect these features by
+ expanding the tree and checking or unchecking the checkboxes that are
+ beside them.</p><div class="figure"><a name="phpeclipse.installing.nightlybuilds"></a><p class="title"><b>Figure 4. Selecting the PHPEclipse Nightly Builds for
+ installation</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="nightlybuilds.png" alt="Selecting the PHPEclipse Nightly Builds for installation"></div></div></div></div><p><br class="figure-break">Click 'Next' to Continue.</p><p>A window will then appear which will display the license agreements.
+ Read the license agreements to ensure that you agree to them, and then
+ select the 'I accept the terms of the license agreements' and click 'Next'
+ to continue.</p><p>You will then be presented with the list of features that you
+ selected to be installed. Review the list to make sure it contains the
+ features you want to install (this should at least be PHPeclipse) and
+ click 'Finish'. Eclipse will then download the features you have selected.
+ A window will then appear asking you to confirm the installation of the
+ specified features. Click 'Install All' to continue. Once the features
+ have been installed, Eclipse will ask you to restart. Click 'Yes' to
+ restart Eclipse.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar01s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Installing PHPEclipse </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Conclusion</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Conclusion</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar01.html" title="Installing PHPEclipse"><link rel="prev" href="ar01s02.html" title="Installing the PHPEclipse Plugin"><link rel="next" href="ar02.html" title="Creating a Project Using PHPEclipse"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Conclusion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s02.html">Prev</a> </td><th width="60%" align="center">Installing PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar02.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.installing.conclusion"></a>Conclusion</h2></div></div></div><p>You have now installed the PHPEclipse plugin for Eclipse and are
+ ready to enter the world of PHP development using the PHPeclipse
+ IDE.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Installing the PHPEclipse Plugin </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Creating a Project Using PHPEclipse</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Creating a Project Using PHPEclipse</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="pt01.html" title="Part I. Getting Started with PHPEclipse"><link rel="prev" href="ar01s03.html" title="Conclusion"><link rel="next" href="ar02s02.html" title="Creating the Project"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Creating a Project Using PHPEclipse</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a> </td><th width="60%" align="center">Part I. Getting Started with PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar02s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="phpeclipse.creatingproject"></a>Creating a Project Using PHPEclipse</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Ian</span> <span class="surname">MacLennan</span></h3></div></div><div><div class="legalnotice"><a name="id2573376"></a><p></p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ar02.html#phpeclipse.creatingproject.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar02s02.html">Creating the Project</a></span></dt><dt><span class="sect1"><a href="ar02s03.html">Adding a Source File to the Project</a></span></dt><dt><span class="sect1"><a href="ar02s04.html">Conclusion</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.creatingproject.introduction"></a>Introduction</h2></div></div></div><p>This tutorial assumes that you have already installed Eclipse along
+ with the PHPEclipse plugin. If you have not already installed Eclipse,
+ then please visit <a href="http://www.eclipse.org/downloads/" target="_top">http://www.eclipse.org/downloads/</a>and
+ download and install Eclipse. If you have not installed PHPEclipse, please
+ see my earlier tutorial for instructions.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar02s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Conclusion </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Creating the Project</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Creating the Project</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar02.html" title="Creating a Project Using PHPEclipse"><link rel="prev" href="ar02.html" title="Creating a Project Using PHPEclipse"><link rel="next" href="ar02s03.html" title="Adding a Source File to the Project"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Creating the Project</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar02.html">Prev</a> </td><th width="60%" align="center">Creating a Project Using PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar02s03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.creatingproject.creatingproject"></a>Creating the Project</h2></div></div></div><p>The first step is to actually create the project. To do this, click
+ on the File menu, mouseover 'New' and select 'Other...'.</p><div class="figure"><a name="phpeclipse.creatingproject.filenewother"></a><p class="title"><b>Figure 1. Creating a Project</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="filenewother.png" alt="Creating a Project"></div></div></div></div><p><br class="figure-break"></p><p>When the Window appears, open up the PHP section and select PHP
+ Project.</p><div class="figure"><a name="phpeclipse.creatingproject.phpproject"></a><p class="title"><b>Figure 2. Selecting PHP Project from the Wizard Selection List</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="phpproject.png" alt="Selecting PHP Project from the Wizard Selection List"></div></div></div></div><p><br class="figure-break"></p><p>When the New PHP Project window appears, select a name for your
+ project. If your workspace is not inside your webroot, it is recommended
+ to create your project in a directory that is. To do this, uncheck 'Use
+ default location' and enter an alternative path instead. When you have
+ entered a project name and a path, click the 'Finish' button to
+ continue.</p><div class="figure"><a name="phpeclipse.creatingproject.newphpproject"></a><p class="title"><b>Figure 3. New PHP Project Window</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="newphpproject.png" alt="New PHP Project Window"></div></div></div></div><p><br class="figure-break"></p><p>Eclipse will then create an empty PHP project for you. Your
+ workspace should now have a PHP project, similar to the figure
+ below.</p><div class="figure"><a name="phpeclipse.creatingproject.projectcreated"></a><p class="title"><b>Figure 4. Workspace with the New PHP Project</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="projectcreated.png" alt="Workspace with the New PHP Project"></div></div></div></div><p><br class="figure-break">The PHP Project has now been created and you can now start
+ adding files and source code to your project. Note the blue PHP icon in
+ the top right corner - this indicates that you are now in the PHP
+ Perspective. An Eclipse perspective is a customized environment that is
+ geared towards a certain task. There are certain things that are helpful
+ to have visible while coding in PHP, for example, and other things that
+ might be useful to have visible when coding Java, and still others that
+ are useful during debugging. The PHP Perspective is the perspective that
+ is used for writing PHP code.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar02s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Creating a Project Using PHPEclipse </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Adding a Source File to the Project</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Adding a Source File to the Project</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar02.html" title="Creating a Project Using PHPEclipse"><link rel="prev" href="ar02s02.html" title="Creating the Project"><link rel="next" href="ar02s04.html" title="Conclusion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Adding a Source File to the Project</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar02s02.html">Prev</a> </td><th width="60%" align="center">Creating a Project Using PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar02s04.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.creatingproject.addingsourcefile"></a>Adding a Source File to the Project</h2></div></div></div><p>Now that we have created the project, we need to add some simple
+ code. We will start by adding a PHP File. To do this, select File-New-PHP
+ File. The 'New PHP File' window will appear. This window allows you to
+ select the file name and the container. The container is the directory
+ that you want to create the file in, and the filename is, well, the name
+ of the file, with the php extension.</p><div class="figure"><a name="phpeclipse.creatingproject.newphpfile"></a><p class="title"><b>Figure 5. The New PHP File Window</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="newphpfile.png" alt="The New PHP File Window"></div></div></div></div><p><br class="figure-break">Once you have entered the directory name and the filename,
+ click Finish to complete the process. The PHP editor will appear and your
+ new, empty file will be open in it.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar02s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar02s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Creating the Project </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Conclusion</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Conclusion</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar02.html" title="Creating a Project Using PHPEclipse"><link rel="prev" href="ar02s03.html" title="Adding a Source File to the Project"><link rel="next" href="ar03.html" title="Debugging a Project Locally Using PHPEclipse and XDebug"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Conclusion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar02s03.html">Prev</a> </td><th width="60%" align="center">Creating a Project Using PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.creatingproject.conclusion"></a>Conclusion</h2></div></div></div><p>You have now created your first PHP project using PHP
+ Eclipse.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar02s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Adding a Source File to the Project </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Debugging a Project Locally Using PHPEclipse and XDebug</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Debugging a Project Locally Using PHPEclipse and XDebug</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="pt01.html" title="Part I. Getting Started with PHPEclipse"><link rel="prev" href="ar02s04.html" title="Conclusion"><link rel="next" href="ar03s02.html" title="Creating a Simple Script"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging a Project Locally Using PHPEclipse and XDebug</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar02s04.html">Prev</a> </td><th width="60%" align="center">Part I. Getting Started with PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar03s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="phpeclipse.debugginglocal"></a>Debugging a Project Locally Using PHPEclipse and XDebug</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Ian</span> <span class="surname">MacLennan</span></h3></div></div><div><div class="legalnotice"><a name="id2496395"></a><p></p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ar03.html#phpeclipse.debugginglocal.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar03s02.html">Creating a Simple Script</a></span></dt><dt><span class="sect1"><a href="ar03s03.html">Setting up the Debugger</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar03s03.html#phpeclipse.debugginglocal.setupdebugger.interpreterpath">Specifying the PHP Interpreter Path</a></span></dt><dt><span class="sect2"><a href="ar03s03.html#phpeclipse.debugginglocal.setupdebugger.debugconfiguration">Creating the Debug Configuration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar03s04.html">Adding a Breakpoint</a></span></dt><dt><span class="sect1"><a href="ar03s05.html">Watching our Script Run</a></span></dt><dt><span class="sect1"><a href="ar03s06.html">Conclusion</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debugginglocal.introduction"></a>Introduction</h2></div></div></div><p>This tutorial assumes that you already know the basics of creating
+ projects and PHP files using PHP Eclipse. It also assumes that you have a
+ functional web server that has the XDebug module installed.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar02s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar03s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Conclusion </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Creating a Simple Script</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Creating a Simple Script</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar03.html" title="Debugging a Project Locally Using PHPEclipse and XDebug"><link rel="prev" href="ar03.html" title="Debugging a Project Locally Using PHPEclipse and XDebug"><link rel="next" href="ar03s03.html" title="Setting up the Debugger"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Creating a Simple Script</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar03.html">Prev</a> </td><th width="60%" align="center">Debugging a Project Locally Using PHPEclipse and XDebug</th><td width="20%" align="right"> <a accesskey="n" href="ar03s03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debugginglocal.simplescript"></a>Creating a Simple Script</h2></div></div></div><p>To begin, open up an existing PHP file in an existing project. For
+ this tutorial, we will be using the project created in the tutorial
+ 'Creating a Project Using PHPEclipse' but you can use any PHP project you
+ like.</p><p>To start, we will create a simple script that has some variables and
+ a control structure. This will give us something interesting to view with
+ the debugger. We'll start with the code below:</p><pre class="programlisting">$output = '';
+
+for ($i=0;$i<10;$i++) {
+ $output .= 'Loop'.$i.' ';
+ echo $output;
+}</pre><p>This program is very simple, but it will allow us to watch
+ variables and step through a program.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar03s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Debugging a Project Locally Using PHPEclipse and XDebug </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Setting up the Debugger</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Setting up the Debugger</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar03.html" title="Debugging a Project Locally Using PHPEclipse and XDebug"><link rel="prev" href="ar03s02.html" title="Creating a Simple Script"><link rel="next" href="ar03s04.html" title="Adding a Breakpoint"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Setting up the Debugger</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar03s02.html">Prev</a> </td><th width="60%" align="center">Debugging a Project Locally Using PHPEclipse and XDebug</th><td width="20%" align="right"> <a accesskey="n" href="ar03s04.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.setupdebugger"></a>Setting up the Debugger</h2></div></div></div><p>Before we start debugging, we have to configure a few options so
+ that PHPEclipse and XDebug know where to find various components.</p><p></p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="phpeclipse.debugginglocal.setupdebugger.interpreterpath"></a>Specifying the PHP Interpreter Path</h3></div></div></div><p>To begin, we must specify the PHP Interpreter Path. This may
+ differ depending on your system. For Windows based systems, this is a
+ path to a file called php.exe. For Linux systems, this is a path to a
+ file simply called php. For Linux systems, this is often in
+ /usr/bin/php. To specify the PHP Interpreter, select Preferences from
+ the Window drop down menu. Open up the PHPEclipse selection and click on
+ XDebug. In the settings pane on the right that appears, enter your debug
+ port and the path to your PHP interpreter. The default debug port for
+ XDebug is 9000, but your system may be setup differently. To verify that
+ 9000 is the correct port, find a way to access your phpinfo() page and
+ check the value of xdebug.remote_port. The value of xdebug.remote_port
+ should match the debug port value.</p><div class="figure"><a name="phpeclipse.debugginglocal.xdebugsetup"></a><p class="title"><b>Figure 1. XDebug Configuration Pane</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="xdebugsetup.png" alt="XDebug Configuration Pane"></div></div></div></div><p><br class="figure-break">When you have entered the appropriate values, click on the OK
+ button.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="phpeclipse.debugginglocal.setupdebugger.debugconfiguration"></a>Creating the Debug Configuration</h3></div></div></div><p>Now that we have configured XDebug, we need to create a debug
+ configuration. This will tell Eclipse how to start the debugger for your
+ project. To do this, select 'Open Debug Dialog' from the Run drop down
+ menu. You will be presented with a list of items which you can debug.
+ Double click on the entry titled 'PHP XDebug Script'. This will create a
+ new configuration and allow you to specify the necessary options. You
+ can provide a name for your debug configuration, and then you must
+ specify the filename which should be executed for debugging purposes. In
+ this case, the filename is index.php.</p><div class="figure"><a name="phpeclipse.debugginglocal.debugconfiguration"></a><p class="title"><b>Figure 2. Debug Configuration Window</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="debugconfiguration.png" alt="Debug Configuration Window"></div></div></div></div><p><br class="figure-break">When you have selected the appropriate file, click on the
+ Debug button to start debugging. After the program has finished, you
+ should see the Console window at the bottom of your screen. It will tell
+ you the status of your script (terminated in this case), and the output
+ below it (Loop0 Loop0 Loop1 Loop0 Loop1 Loop2 Loop0 Loop1 Loop2 Loop3
+ Loop0 Loop1). You have now successfully created a debug configuration
+ and are ready to use the debug tools to analyze your scripts.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar03s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar03s04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Creating a Simple Script </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Adding a Breakpoint</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Adding a Breakpoint</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar03.html" title="Debugging a Project Locally Using PHPEclipse and XDebug"><link rel="prev" href="ar03s03.html" title="Setting up the Debugger"><link rel="next" href="ar03s05.html" title="Watching our Script Run"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Adding a Breakpoint</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar03s03.html">Prev</a> </td><th width="60%" align="center">Debugging a Project Locally Using PHPEclipse and XDebug</th><td width="20%" align="right"> <a accesskey="n" href="ar03s05.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debugginglocal.addingbreakpoint"></a>Adding a Breakpoint</h2></div></div></div><p>Simply being apply to execute our script and view the output isn't
+ too helpful - we can do that from the command line, or via the web
+ browser. The real power in debugging comes from the ability to set
+ breakpoints and step through scripts. A breakpoint is just that - a point
+ in your script at which you would like to break. What will happen is that
+ the PHP Interpreter will continue as normal until it reaches the specified
+ line in your program. When it reaches that line, it will stop and wait for
+ your instructions as to how to proceed.</p><p>To set a breakpoint, move the mouse over the gray bar at the far
+ left of the margin. Right click beside the line at which you want to
+ break, and select the option 'Toggle Breakpoint'. Ensure you select
+ 'Toggle Breakpoint' and not 'Toggle PHP Breakpoint' - the latter will not
+ work. After you toggle the breakpoint, a blue ball should appear in the
+ gray margin beside the line you specified.</p><div class="figure"><a name="phpeclipse.debugginglocal.debugbreakpoint"></a><p class="title"><b>Figure 3. Debug Breakpoint</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="debugbreakpoint.png" alt="Debug Breakpoint"></div></div></div></div><p><br class="figure-break">After you have added your breakpoint, select Debug
+ History-myFirstProject (or whatever name you gave your configuration) from
+ the Run menu.</p><p>Now, to view our debug information, we need to change to our Debug
+ Perspective. To do this, select the Window drop down menu and select Open
+ Perspective-Debug.</p><p>There are a number of things you will notice on the Debug
+ perspective. The top left has a list of scripts that are currently
+ running. There are button in this pane that can control the execution of
+ the script. The first button labelled in the diagram is the Resume button.
+ Clicking on this button will cause execution of your script to resume
+ until it reaches the next breakpoint. The second button that is labelled
+ is the Terminate button. This button will cause execution of your script
+ to terminate. The third button and fourth buttons are the Step Into and
+ Step Over buttons. These will both cause one line of your script to run.
+ The difference between the two is that the Step Into button will expand
+ any function calls on the line, and the step over button will treat
+ function calls as one line. So, if you are not worried about the functions
+ that are being called on a given line, you should use Step Over. If you
+ want to see exactly what the functions are doing, you should use Step
+ Into.</p><p>To the right of the Debug pane you will see a pane with a Variables
+ tab and a Breakpoints tab. In the variables tab, you will see a list of
+ variables that are in the current scope. Our script uses two variables -
+ $i and $output. You will notice that a number of environment variables are
+ also listed. Along with the list of variables, you can see the values of
+ those variables. This is useful if you want to track what happens to a
+ variable over the course of execution of your script. Clicking on the
+ Breakpoints tab will allow you to see a list of breakpoints that have been
+ set for your script. From this tab, you can turn breakpoints on and off by
+ checking or unchecking the checkboxes that are beside them. There are also
+ buttons to remove selected breakpoints and to remove all breakpoints for
+ your script.</p><p>Underneath, you will see an editor containing the current source
+ file that is being executed. A blue arrow generally follows execution of
+ your script. At the very bottom is a window that displays the Console
+ where you can see the output of your script.</p><div class="figure"><a name="phpeclipse.debugginglocal.debugperspective"></a><p class="title"><b>Figure 4. The Debug Perspective</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="debugperspective.png" alt="The Debug Perspective"></div></div></div></div><p><br class="figure-break"></p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar03s03.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar03s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Setting up the Debugger </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Watching our Script Run</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Watching our Script Run</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar03.html" title="Debugging a Project Locally Using PHPEclipse and XDebug"><link rel="prev" href="ar03s04.html" title="Adding a Breakpoint"><link rel="next" href="ar03s06.html" title="Conclusion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Watching our Script Run</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar03s04.html">Prev</a> </td><th width="60%" align="center">Debugging a Project Locally Using PHPEclipse and XDebug</th><td width="20%" align="right"> <a accesskey="n" href="ar03s06.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debugginglocal.watchingscriptrun"></a>Watching our Script Run</h2></div></div></div><p>Now that we are familiar with the Debug Perspective, we can trace
+ the execution of our program and monitor the variables. We will do a click
+ by click run through of a few lines of our program. To trace through
+ execution of the loop, click on the 'Step Into' button.</p><div class="orderedlist"><ol type="1"><li><p>In our initial state, you will see that the blue arrow points
+ to the first line of our script. This line initializes the $output
+ variable. Since the line hasn't been executed yet, you will see both
+ $i and $output are unitialized.</p></li><li><p>After one click of the Step Into button, the blue arrow moves
+ to the first line of our for loop. Again, this line has not been
+ executed, so $i is still uninitialized, but $output has now been
+ initialized to ''.</p></li><li><p>After two more clicks, we are into our for loop. The Variables
+ window tells us that $i is 0 and $output is still ''.</p></li><li><p>After another click, $output has been assigned the value
+ 'Loop0'.</p></li><li><p>After another click, $i is incremented and now has the value
+ 1. The console displays the output 'Loop0', which is the result of
+ the echo statement. The blue arrow has returned to the top line of
+ the for loop, ready for another iteration.</p></li></ol></div><p>By continuing in this manner, we can see the values of
+ each variable as execution of our script progresses and we can monitor the
+ output after each line of the script..</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar03s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar03s06.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Adding a Breakpoint </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Conclusion</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Conclusion</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar03.html" title="Debugging a Project Locally Using PHPEclipse and XDebug"><link rel="prev" href="ar03s05.html" title="Watching our Script Run"><link rel="next" href="ar04.html" title="Debugging a Project On a Web Server Using PHPEclipse and XDebug"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Conclusion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar03s05.html">Prev</a> </td><th width="60%" align="center">Debugging a Project Locally Using PHPEclipse and XDebug</th><td width="20%" align="right"> <a accesskey="n" href="ar04.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debugginglocal.conclusion"></a>Conclusion</h2></div></div></div><p>You should now be more familiar with the basic process of debugging
+ a local PHP script using the PHPEclipse debugging tool with XDebug.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar03s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar04.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Watching our Script Run </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Debugging a Project On a Web Server Using PHPEclipse and XDebug</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="pt01.html" title="Part I. Getting Started with PHPEclipse"><link rel="prev" href="ar03s06.html" title="Conclusion"><link rel="next" href="ar04s02.html" title="Setting up the Debugger"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar03s06.html">Prev</a> </td><th width="60%" align="center">Part I. Getting Started with PHPEclipse</th><td width="20%" align="right"> <a accesskey="n" href="ar04s02.html">Next</a></td></tr></table><hr></div><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="phpeclipse.debuggingremote"></a>Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Ian</span> <span class="surname">MacLennan</span></h3></div></div><div><div class="legalnotice"><a name="id2577280"></a><p></p></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="ar04.html#phpeclipse.debuggingremote.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar04s02.html">Setting up the Debugger</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar04s02.html#phpeclipse.debuggingremote.setupdebugger.interpreterpath">Specifying the PHP Interpreter Path</a></span></dt><dt><span class="sect2"><a href="ar04s02.html#phpeclipse.debuggingremote.setupdebugger.debugconfiguration">Creating the Debug Configuration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar04s03.html">Conclusion</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debuggingremote.introduction"></a>Introduction</h2></div></div></div><p>This tutorial assumes that you have already completed the tutorial
+ on local debugging. Thus, you have already created a project and have
+ created a simple script that can be examined during debugging and that a
+ breakpoint has already been inserted. It also assumes that you have a
+ functional web server that has the XDebug module installed.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar03s06.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="pt01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar04s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Conclusion </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Setting up the Debugger</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Setting up the Debugger</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar04.html" title="Debugging a Project On a Web Server Using PHPEclipse and XDebug"><link rel="prev" href="ar04.html" title="Debugging a Project On a Web Server Using PHPEclipse and XDebug"><link rel="next" href="ar04s03.html" title="Conclusion"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Setting up the Debugger</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar04.html">Prev</a> </td><th width="60%" align="center">Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug</th><td width="20%" align="right"> <a accesskey="n" href="ar04s03.html">Next</a></td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debuggingremote.setupdebugger"></a>Setting up the Debugger</h2></div></div></div><p>Before we start debugging, we have to configure a few options so
+ that PHPEclipse and XDebug know where to find various components.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="phpeclipse.debuggingremote.setupdebugger.interpreterpath"></a>Specifying the PHP Interpreter Path</h3></div></div></div><p>To begin, we must specify the PHP Interpreter Path. This may
+ differ depending on your system. For Windows based systems, this is a
+ path to a file called php.exe. For Linux systems, this is a path to a
+ file simply called php. For Linux systems, this is often in
+ /usr/bin/php. To specify the PHP Interpreter, select Preferences from
+ the Window drop down menu. Open up the PHPEclipse selection and click on
+ XDebug. In the settings pane on the right that appears, enter your debug
+ port and the path to your PHP interpreter. The default debug port for
+ XDebug is 9000, but your system may be setup differently. To verify that
+ 9000 is the correct port, find a way to access your phpinfo() page and
+ check the value of xdebug.remote_port. The value of xdebug.remote_port
+ should match the debug port value.</p><div class="figure"><a name="phpeclipse.debuggingremote.xdebugsetup"></a><p class="title"><b>Figure 1. XDebug Configuration Pane</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="xdebugsetup.png" alt="XDebug Configuration Pane"></div></div></div></div><p><br class="figure-break">When you have entered the appropriate values, click on the OK
+ button.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="phpeclipse.debuggingremote.setupdebugger.debugconfiguration"></a>Creating the Debug Configuration</h3></div></div></div><p>Now that we have configured XDebug, we need to create a debug
+ configuration. This will tell Eclipse how to start the debugger for your
+ project. To do this, select 'Open Debug Dialog' from the Run drop down
+ menu. You will be presented with a list of items which you can debug.
+ Double click on the entry titled 'PHP XDebug Remote Script'. This will
+ create a new configuration and allow you to specify the necessary
+ options. You can provide a name for your debug configuration, and then
+ you must specify the Ide Identification String. You can select anything
+ you want for this string. It is recommended to keep it short and
+ memorable. Ensure that you remember this value for later. In our
+ example, we will use the string firstproject.</p><div class="figure"><a name="phpeclipse.debuggingremote.debugconfigurationremote"></a><p class="title"><b>Figure 2. Debug Configuration Window</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="debugconfigurationremote.png" alt="Debug Configuration Window"></div></div></div></div><p><br class="figure-break">Once you have selected a configuration name and have chosen
+ an identification string, click on the Pathmap tab. In the pathmap tab,
+ you specify how Eclipse translates local path names to remote path
+ names. To map a path, click on the New button to create a new map. If
+ your web server is located on the same system that Eclipse is running
+ on, both of these paths will be the same. In either case, under Local
+ Path enter the path to the root of your project on the machine that
+ Eclipse is running on. In Remote Path, enter the path to the root of
+ your project on the machine the web server is running on.</p><div class="figure"><a name="phpeclipse.debuggingremote.debugconfigurationremotepathmap"></a><p class="title"><b>Figure 3. Specifying the Path Map from Local to Remote Machine</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="debugconfigurationremotepathmap.png" alt="Specifying the Path Map from Local to Remote Machine"></div></div></div></div><p><br class="figure-break">Once you have specified the proper pathmap, press the Debug
+ button to begin the debugger.</p><p>You will notice that in contrast to when we were debugging
+ locally, remote debugging will not automatically start your script. It
+ will simply start the debugging and begin listening for connections on
+ the debugging port. To begin our script, we open it up in a web
+ browser.</p><div class="figure"><a name="phpeclipse.debuggingremote.remoteexecution"></a><p class="title"><b>Figure 4. Executing our Script in the Web Browser</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="remoteexecution.png" alt="Executing our Script in the Web Browser"></div></div></div></div><p><br class="figure-break"></p><p>This doesn't actually start debugging your script. There is no
+ link at this point between your script and the Eclipse debugger. We have
+ to somehow tell PHP to look for the Eclipse debugger for processing
+ instructions. To do this, we have to add a variable to the request
+ string. This variable is called XDEBUG_SESSION_START and its value
+ should match the Ide Indentification String we specified earlier. In
+ this case, our new URL will be
+ http://127.0.0.1/myFirstProject/index.php?XDEBUG_SESSION_START=firstproject.</p><div class="figure"><a name="phpeclipse.debuggingremote.remotedebugxdebugvariable"></a><p class="title"><b>Figure 5. Adding the XDEBUG_SESSION_START onto the Query String</b></p><div class="figure-contents"><div class="screenshot"><div class="mediaobject"><img src="remotedebugxdebugvariable.png" alt="Adding the XDEBUG_SESSION_START onto the Query String"></div></div></div></div><p><br class="figure-break">Once you have added the variable to the URL, press enter to
+ start debugging.</p><p>You can now resume the process of debugging as demonstrated in the
+ local debugging tutorial. The process is the same, except that instead
+ of the output being displayed in the console it is displayed in the
+ browser where you loaded your script.</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ar04s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Conclusion</td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Conclusion</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="ar04.html" title="Debugging a Project On a Web Server Using PHPEclipse and XDebug"><link rel="prev" href="ar04s02.html" title="Setting up the Debugger"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Conclusion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ar04s02.html">Prev</a> </td><th width="60%" align="center">Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug</th><td width="20%" align="right"> </td></tr></table><hr></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="phpeclipse.debuggingremote.conclusion"></a>Conclusion</h2></div></div></div><p>You should now be able to debug a remote PHP script using PHPEclipse
+ and XDebug.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar04s02.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ar04.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Setting up the Debugger </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Debugging in PHP Eclipse</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="next" href="pt01.html" title="Part I. Getting Started with PHPEclipse"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Debugging in PHP Eclipse</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr></table><hr></div><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="phpeclipse"></a>Debugging in PHP Eclipse</h1></div><div><p class="copyright">Copyright © 2007 </p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="part"><a href="pt01.html">I. Getting Started with PHPEclipse</a></span></dt><dd><dl><dt><span class="article"><a href="ar01.html">Installing PHPEclipse</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar01.html#phpeclipse.installing.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar01s02.html">Installing the PHPEclipse Plugin</a></span></dt><dt><span class="sect1"><a href="ar01s03.html">Conclusion</a></span></dt></dl></dd><dt><span class="article"><a href="ar02.html">Creating a Project Using PHPEclipse</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar02.html#phpeclipse.creatingproject.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar02s02.html">Creating the Project</a></span></dt><dt><span class="sect1"><a href="ar02s03.html">Adding a Source File to the Project</a></span></dt><dt><span class="sect1"><a href="ar02s04.html">Conclusion</a></span></dt></dl></dd><dt><span class="article"><a href="ar03.html">Debugging a Project Locally Using PHPEclipse and XDebug</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar03.html#phpeclipse.debugginglocal.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar03s02.html">Creating a Simple Script</a></span></dt><dt><span class="sect1"><a href="ar03s03.html">Setting up the Debugger</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar03s03.html#phpeclipse.debugginglocal.setupdebugger.interpreterpath">Specifying the PHP Interpreter Path</a></span></dt><dt><span class="sect2"><a href="ar03s03.html#phpeclipse.debugginglocal.setupdebugger.debugconfiguration">Creating the Debug Configuration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar03s04.html">Adding a Breakpoint</a></span></dt><dt><span class="sect1"><a href="ar03s05.html">Watching our Script Run</a></span></dt><dt><span class="sect1"><a href="ar03s06.html">Conclusion</a></span></dt></dl></dd><dt><span class="article"><a href="ar04.html">Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar04.html#phpeclipse.debuggingremote.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar04s02.html">Setting up the Debugger</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar04s02.html#phpeclipse.debuggingremote.setupdebugger.interpreterpath">Specifying the PHP Interpreter Path</a></span></dt><dt><span class="sect2"><a href="ar04s02.html#phpeclipse.debuggingremote.setupdebugger.debugconfiguration">Creating the Debug Configuration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar04s03.html">Conclusion</a></span></dt></dl></dd></dl></dd></dl></div><div class="list-of-figures"><p><b>List of Figures</b></p><dl><dt>1. <a href="ar01s02.html#phpeclipse.installing.findandinstall">Installing Additional Eclipse Features</a></dt><dt>2. <a href="ar01s02.html#phpeclipse.installing.installupdate">The Install/Update Window</a></dt><dt>3. <a href="ar01s02.html#phpeclipse.installing.newupdatesite">New Update Site Window</a></dt><dt>4. <a href="ar01s02.html#phpeclipse.installing.nightlybuilds">Selecting the PHPEclipse Nightly Builds for
+ installation</a></dt><dt>1. <a href="ar02s02.html#phpeclipse.creatingproject.filenewother">Creating a Project</a></dt><dt>2. <a href="ar02s02.html#phpeclipse.creatingproject.phpproject">Selecting PHP Project from the Wizard Selection List</a></dt><dt>3. <a href="ar02s02.html#phpeclipse.creatingproject.newphpproject">New PHP Project Window</a></dt><dt>4. <a href="ar02s02.html#phpeclipse.creatingproject.projectcreated">Workspace with the New PHP Project</a></dt><dt>5. <a href="ar02s03.html#phpeclipse.creatingproject.newphpfile">The New PHP File Window</a></dt><dt>1. <a href="ar03s03.html#phpeclipse.debugginglocal.xdebugsetup">XDebug Configuration Pane</a></dt><dt>2. <a href="ar03s03.html#phpeclipse.debugginglocal.debugconfiguration">Debug Configuration Window</a></dt><dt>3. <a href="ar03s04.html#phpeclipse.debugginglocal.debugbreakpoint">Debug Breakpoint</a></dt><dt>4. <a href="ar03s04.html#phpeclipse.debugginglocal.debugperspective">The Debug Perspective</a></dt><dt>1. <a href="ar04s02.html#phpeclipse.debuggingremote.xdebugsetup">XDebug Configuration Pane</a></dt><dt>2. <a href="ar04s02.html#phpeclipse.debuggingremote.debugconfigurationremote">Debug Configuration Window</a></dt><dt>3. <a href="ar04s02.html#phpeclipse.debuggingremote.debugconfigurationremotepathmap">Specifying the Path Map from Local to Remote Machine</a></dt><dt>4. <a href="ar04s02.html#phpeclipse.debuggingremote.remoteexecution">Executing our Script in the Web Browser</a></dt><dt>5. <a href="ar04s02.html#phpeclipse.debuggingremote.remotedebugxdebugvariable">Adding the XDEBUG_SESSION_START onto the Query String</a></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="pt01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Part I. Getting Started with PHPEclipse</td></tr></table></div></body></html>
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Part I. Getting Started with PHPEclipse</title><meta name="generator" content="DocBook XSL Stylesheets V1.71.0"><link rel="start" href="index.html" title="Debugging in PHP Eclipse"><link rel="up" href="index.html" title="Debugging in PHP Eclipse"><link rel="prev" href="index.html" title="Debugging in PHP Eclipse"><link rel="next" href="ar01.html" title="Installing PHPEclipse"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Part I. Getting Started with PHPEclipse</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01.html">Next</a></td></tr></table><hr></div><div class="part" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="phpeclipse.gettingstarted"></a>Part I. Getting Started with PHPEclipse</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="article"><a href="ar01.html">Installing PHPEclipse</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar01.html#phpeclipse.installing.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar01s02.html">Installing the PHPEclipse Plugin</a></span></dt><dt><span class="sect1"><a href="ar01s03.html">Conclusion</a></span></dt></dl></dd><dt><span class="article"><a href="ar02.html">Creating a Project Using PHPEclipse</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar02.html#phpeclipse.creatingproject.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar02s02.html">Creating the Project</a></span></dt><dt><span class="sect1"><a href="ar02s03.html">Adding a Source File to the Project</a></span></dt><dt><span class="sect1"><a href="ar02s04.html">Conclusion</a></span></dt></dl></dd><dt><span class="article"><a href="ar03.html">Debugging a Project Locally Using PHPEclipse and XDebug</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar03.html#phpeclipse.debugginglocal.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar03s02.html">Creating a Simple Script</a></span></dt><dt><span class="sect1"><a href="ar03s03.html">Setting up the Debugger</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar03s03.html#phpeclipse.debugginglocal.setupdebugger.interpreterpath">Specifying the PHP Interpreter Path</a></span></dt><dt><span class="sect2"><a href="ar03s03.html#phpeclipse.debugginglocal.setupdebugger.debugconfiguration">Creating the Debug Configuration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar03s04.html">Adding a Breakpoint</a></span></dt><dt><span class="sect1"><a href="ar03s05.html">Watching our Script Run</a></span></dt><dt><span class="sect1"><a href="ar03s06.html">Conclusion</a></span></dt></dl></dd><dt><span class="article"><a href="ar04.html">Debugging a Project On a Web Server Using PHPEclipse and
+ XDebug</a></span></dt><dd><dl><dt><span class="sect1"><a href="ar04.html#phpeclipse.debuggingremote.introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="ar04s02.html">Setting up the Debugger</a></span></dt><dd><dl><dt><span class="sect2"><a href="ar04s02.html#phpeclipse.debuggingremote.setupdebugger.interpreterpath">Specifying the PHP Interpreter Path</a></span></dt><dt><span class="sect2"><a href="ar04s02.html#phpeclipse.debuggingremote.setupdebugger.debugconfiguration">Creating the Debug Configuration</a></span></dt></dl></dd><dt><span class="sect1"><a href="ar04s03.html">Conclusion</a></span></dt></dl></dd></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ar01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Debugging in PHP Eclipse </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Installing PHPEclipse</td></tr></table></div></body></html>
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Table of Contents</title>
+</head>
+
+<body>
+<h1>Table of Contents</h1>
+Please enter your text here.
+</body>
+</html>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.2"?>
+<plugin>
+
+ <extension
+ point="org.eclipse.help.toc">
+ <toc
+ file="toc.xml"
+ primary="true">
+ </toc>
+ </extension>
+
+</plugin>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<toc label="Debugging in PHP Eclipse with Xdebug" topic="html/index.html">
+ <topic label="Getting Started with PHPEclipse" href="html/pt01.html">
+ <topic label="Installing PHPEclipse" href="html/ar01.html">
+ <topic label="Introduction" href="html/ar01.html#phpeclipse.installing.introduction"/>
+ <topic label="Installing the PHPEclipse Plugin" href="html/ar01s02.html"/>
+ <topic label="Conclusion" href="html/ar01s03.html"/>
+ </topic>
+ <topic label="Creating a Project Using PHPEclipse" href="html/ar02.html">
+ <topic label="Introduction" href="html/ar02.html#phpeclipse.creatingproject.introduction"/>
+ <topic label="Creating the Project" href="html/ar02s02.html"/>
+ <topic label="Adding a Source File to the Project" href="html/ar02s03.html"/>
+ <topic label="Conclusion" href="html/ar02s04.html"/>
+ </topic>
+ <topic label="Debugging a Project Locally Using PHPEclipse and XDebug" href="html/ar03.html">
+ <topic label="Introduction" href="html/ar03.html#phpeclipse.debugginglocal.introduction"/>
+ <topic label="Creating a Simple Script" href="html/ar03s02.html"/>
+ <topic label="Setting up the Debugger" href="html/ar03s03.html">
+ <topic label="Specifying the PHP Interpreter Path" href="html/ar03s03.html#phpeclipse.debugginglocal.setupdebugger.interpreterpath"/>
+ <topic label="Creating the Debug Configuration" href="html/ar03s03.html#phpeclipse.debugginglocal.setupdebugger.debugconfiguration"/>
+ </topic>
+ <topic label="Adding a Breakpoint" href="html/ar03s04.html"/>
+ <topic label="Watching our Script Run" href="html/ar03s05.html"/>
+ <topic label="Conclusion" href="html/ar03s06.html"/>
+ </topic>
+ <topic label="Debugging a Project On a Web Server Using PHPEclipse and XDebug" href="html/ar04.html">
+ <topic label="Introduction" href="html/ar04.html#phpeclipse.debuggingremote.introduction"/>
+ <topic label="Setting up the Debugger" href="html/ar04s02.html">
+ <topic label="Specifying the PHP Interpreter Path" href="html/ar04s02.html#phpeclipse.debuggingremote.setupdebugger.interpreterpath"/>
+ <topic label="Creating the Debug Configuration" href="html/ar04s02.html#phpeclipse.debuggingremote.setupdebugger.debugconfiguration"/>
+ </topic>
+ <topic label="Conclusion" href="html/ar04s03.html"/>
+ </topic>
+ </topic>
+</toc>