PhpED: PHP IDE
new features
features
version comparison
features: php tools
php debugger
php profiler
php frameworks
php scripts
features tour
licensing
php testing
PhpED difference
PhpED on Mac/Linux
testimonials
PhpDock
Nu-Coder
PhpExpress
TechPlatform

PHP Debugging: Advanced Features Set

PhpED delivers the power of advanced PHP debugging with unique features setting PhpED apart from other PHP IDEs. Parallel Debugging and Global Expression True Breakpoints are the powerful debugging features available exclusively in PhpED.

Parallel Debugging

See the movie about Parallel Debugging

The ability to run multiple debugging sessions is a must have for at least two types of PHP applications:

  • Web 2.0 applications making Ajax, REST or other Web Services calls to PHP scripts
  • Applications where one PHP script launches another PHP script, which is often the case for CLI PHP applications

In the first scenario, you can make use of DebugBreak() function provided by PhpED's PHP debugger, to start the debugging session every time when the request is made to the PHP script. In this case PhpED will start a new debugging session for each request and run them in parallel, giving you the ability to compare the values of the variables etc.

In the second scenario the need for multiple parallel debugging sessions is pretty self-evident because you need to be able to debug both the calling PHP script as well as the script started by the caller.

How to debug multiple parallel sessions?

When new debugging session is initiated PhpED will prompt you with the dialog activating the new parallel session

PHP Debugging Parallel Sessions Switch
When multiple debug sessions are running you can easily switch between them: PHP Debugging Parallel Sessions

You specify different Debugging settings for different Projects - PHP developers can easily switch from local debugging to remote, from Srv Web server to Apache/ISS etc. - all Settings of PHP Debugger can be specified in Project Properties

Expression True Global Breakpoints

Using Expression True Global feature of PhpED's PHP Debugger you can set global breakpoints that stop execution when a certain expression becomes true, regardless of the current execution point.
Expression True Global Breakpoints allow you to get to the bottom of the hardest bug in the your software. Set to be triggered by any script in the application, having these breakpoints is unrivaled PHP debugging feature.

How to set Expression True Global Breakpoints

To set Global Expression True breakpoints you need to:

  • Set a regular break point in PhpED
  • Go to View->Debug windows->Breakpoints
  • From the right mouse Pop-up menu on the breakpoint select Properties
  • Enter the condition used to trigger the break point and check Expression true global

PHP Debugging Expression True Global

Set Execution point (Jump to another line).

Set Execution point option lets you change the execution point within the current context (during debug sessions only).

PHP Debugging Set Execution Point

Just in Time Debugging

With its self-explanatory name Just in Time debugging is available in DBG - NuSphere's PHP Debugger to start the debugging session the moment PHP encounters an error in the code. All you need is to set debugger.JIT_enabled=on in [debugger] section of php.ini file.
You can watch a live demonstration of using the PHP debugger and advanced remote PHP debugging from our video tutorial library. Additional technical information is available on the NuSphere Forum. Download a free trial of our PHP Debugger today!

Secure PHP Debugging

Support for remote debugging in PhpED would not be useful if it wasn't properly secured. The level of protection of the communications between DBG - NuSphere's PHP Debugger and PHP IDE is so high, that you can debug even your production sites.

Debugger's IP security

You have the full control over which IP or range of IPs and are allowed to start the debugging sessions and you also control on which ports debugger can communicate with PHP IDE. To configure these settings you can use the following 3 instructions in php.ini file:

debugger.hosts_allow=host1 host2 host3
debugger.hosts_deny=ALL
debugger.ports=7869

Where host1 host2 and host3 are host names or IP or network addresses allowed to start debug sessions

PHP Debugging over SSH tunnel

To further secure debugger communications with PhpED NuSphere's PHP Debugger can communicate with PHP IDE over SSH. If you run debug session though an SSH tunnel, you need to list just one local IP address only (localhost) in debugger.hosts_allow instructions. You can learn more about the details about debugging over SSH here

SSL encryption of debugger communications

NuSphere provides debugger modules for 18 different plaforms. PhpED's DBG - PHP Debugger is the only debugger using binary interface with IDE protected with Secure Socket Layer (SSL) encryption. SLL enabled PHP debugger modules are distributed in a separate archive along with PhpED installation

 Download NuSphere PHP IDE

Download a free trial of the fast PHP EDitor and robust Integrated Development Environment for PHP.

 Buy NuSphere PhpED® now

Best PHP Editor and complete PHP IDE.
NuSphere PhpED 21.0 is available from our online store front.
"To be honest its bloody awesome, I have looked at loads of PHP editors and this is THE only one that actual works straight out of the box!!! Brilliant, well done."
Andrew Breward,
Director of Technology
caboodal.com

 Guide

Walk through NuSphere PhpED interface
PhpED video tutorial: Webservices
Learn how to add webservices to your code in less than 5 minutes (a flash demo).

 Special Team4 Offer

Get 4 copies of PhpED for the price of 3!

Optimum solution for development teams.
PhpED 21.0 Team4
Need more than 4 licenses? Contact Us for more quantity discounts, please use "Ordering/Payment issue" subject on the form.

 Dr. Dobb's

Dr. Dobb's

Dr. Dobb's Magazine covers NuSphere PhpED in New and Noteworthy section.

 InfoWorld

infoworld.com
PhpED is a proper, world-class IDE for PHP code. It is the only IDE worth considering if PHP development is your primary job