Category Archives: PHP

How to Debug PHP Applications with NetBeans IDE and Xdebug on Windows?

NetBeans logo After having tried many IDEs for PHP development, including Eclipse and Komodo Edit, I have found myself the most comfortable and productive with the excellent NetBeans IDE.

You can start building PHP applications with NetBeans right out-of-the-box by simply downloading NetBeans for PHP (version 6.8 is the latest as of this post). Debugging with it requires an additional download of Xdebug.

Here is a quick and step-by-step guide to quickly start developing and debugging your PHP application projects with NetBeans + Xdebug:

1. Download and install NetBeans IDE for PHP.

2. Download Xdebug (it’s a small DLL library file).

Advice: Among the plethora of download links available on that page, let me tell you that you generally wouldn’t want the ‘non-thread-safe’ version, so ignore that; go for the latest non-beta version. I downloaded 5.2 VC6 (32 bit) of Xdebug 2.0.5.

3. Next you need to make changes to php.ini found in apache\\bin folder (the location of your apache folder may vary depending on your installation, look for it).

Find “[Zend]” section in your php.ini file, which should look like the following:

   1: [Zend]

   2: zend_extension_ts = "E:\\Servers\\xampp\\php\\zendOptimizer\\lib\\ZendExtensionManager.dll"

   3: zend_extension_manager.optimizer_ts = "E:\\Servers\\xampp\\php\\zendOptimizer\\lib\\Optimizer"

   4: zend_optimizer.enable_loader = 0

   5: zend_optimizer.optimization_level=15

   6: ;zend_optimizer.license_path =

   7: ; Local Variables:

   8: ; tab-width: 4

   9: ; End:

 

Xdebug is not compatible with Zend Optimizer, so comment out lines 2 to 5 (by prefixing the line with a semi-colon), and add the following lines under [Zend] section heading:

   1: [Zend]

   2: zend_extension_ts="E:\\Servers\\php_xdebug\\php_xdebug-2.0.5-5.2.dll"

   3: xdebug.remote_enable=on

   4: xdebug.remote_handler=dbgp

   5: xdebug.remote_host=127.0.0.1

   6: xdebug.remote_port=9000

 

Note: Remember to change the path and filename to match your Xdebug path and version.

4. Restart Apache (if using XAMPP: Open the XAMPP Control Panel and first stop, then start Apache).

5. To verify if Xdebug is configured properly for debugging, create a php file containing this one line:

   1: <?php echo phpinfo() ?>

Save it in your htdocs folder [phpinfo.php], and open it in your browser [http://localhost/phpinfo.php]. If Xdebug is loaded successfully, you should see something like this:

Xdebug info with phpinfo()

That is it! Now you are ready to debug your applications with Xdebug using NetBeans IDE. Simply open your PHP project in NetBeans and press Ctrl + F5 or click Debug project button in NetBeans in the toolbar.

A detailed guide on configuring Xdebug with NetBeans can be found on this wiki: http://wiki.netbeans.org/HowToConfigureXDebug.

Happy coding! :)