PHPEdit Debugger Troubleshooter

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
PHPEdit Debugger Troubleshooter por Mind Map: PHPEdit Debugger Troubleshooter

1. Debug sessions are not caught by PHPEdit

1.1. Make sure that no firewall or antivirus is blocking PHPEdit

1.2. Xdebug: Make sure that Xdebug is configured to connect to your machine and to PHPEdit

1.2.1. 1 developper is using the server

1.2.1.1. In the server's php.ini, xdebug.remote_host has to be set to your IP, either "localhost" if the server is on the same machine as PHPEdit, or an IP like "192.168.0.1"

1.2.1.2. In the server's php.ini, xdebug.remote_port has to be set to the port PHPEdit is listening on, usually 9000

1.2.2. The server is shared by several developpers

1.2.2.1. In the server's php.ini, xdebug.remote_host has to be set to the IP if the DBGp proxy, either "localhost" if the server is on the same machine as the proxy, or an IP like "192.168.0.1"

1.2.2.2. In the server's php.ini, xdebug.remote_port has to be set to the port the DBGp proxy is listening on, usually 9000

1.3. Check in PHPEdit's log is there's an error on PHPEdit's side

1.3.1. In PHPEdit's settings dialog, page "Misc" -> "Log", set Xdebug to "Debug"

1.3.2. Try to start a debug session

1.3.3. Make sure the "Log" dock is visible, check all the log levels in the toolbar, and see if there are errors in the list.

1.4. Make sure that Xdebug is loaded correctly

1.4.1. An incorrect version of php_xdebug.dll will fail silently

2. Debug sessions are caught by PHPEdit

2.1. But doesn't stop at the breakpoints I set

2.1.1. Make sure you put the breakpoint on a line containing code, that actually gets executed

2.1.1.1. The breakpoint is not on an empty line

2.1.1.2. The breakpoint is not on a comment line

2.1.1.3. The breakpoint is not on a line that never gets executed

2.1.2. Xdebug: Make sure Xdebug is loaded as a Zend Extension on your server

2.1.2.1. In the server's php.ini, Xdebug is loaded either with

2.1.2.1.1. Windows

2.1.2.1.2. Unix

2.1.2.2. Xdebug doesn't appear twice in the server's php.ini

2.1.3. Xdebug: Check Xdebug's php.ini configuration

2.1.3.1. xdebug.extended_info is set to "On"

2.1.4. Make sure that your mapping settings are correct

2.1.4.1. In PHPEdit's debugger settings the local root, url root and remote root have to point to the same directory, from their respective point of views.

2.2. When I don't want to debug browsing on my debug server is very slow

2.2.1. Xdebug: There's still communications between Xdebug and PHPEdit, you need to disable it

2.2.1.1. Either stop the Xdebug listener in PHPEdit

2.2.1.1.1. In the "Debugger" menu, "Stop Xdebug listener"

2.2.1.2. Or disable Xdebug from your browser

2.2.1.2.1. Make sure Xdebug is not configured in autostart mode

2.2.1.2.2. Disable Xdebug by browsing to any url on your debug server and adding to the url XDEBUG_SESSION_STOP_NO_EXEC

2.3. Output and HTML output docks are only refreshed when the debug session is finished

2.3.1. Make sure that there's no output buffering going on on the server side

2.3.1.1. output_buffering is to be set to "Off" in the php.ini

2.4. But then hangs

2.4.1. Using PHPEdit 2.12 and Xdebug 2.0.3 or newer

2.4.1.1. A change in Xdebug 2.0.3 as made PHPEdit incompatible with it

2.4.1.1.1. Update to PHPEdit 3, or downgrade to an older version of Xdebug, until a new release of 2.12 with this issue fixed

2.5. Debugging is very slow

2.5.1. Something an outdate browser or browser plugin (like firebug for example) can slow down debugging

2.5.1.1. Try to use a different browser, and if it makes a change, to disable extensions in your usual browser to locate the extension causing the problem. Then try to update it to a newer version.