Skip to content


Zend Debugger with Zend Optimizer on XAMPP

After downloading Zend Debugger, the default instructions from README will not work – the PHP refuses to load Zend Debugger before Zend Optimiser.

You need to configure Zend Debugger using the same Zend Extension Manager, that Zend Optimiser uses to load itself.

Put the contents of the ZendDebugger-5.2.x-cygwin_nt-i386.zip into C:\xampp\php\zendOptimizer\lib, then rename the “ZendDebugger-5.2.x-cygwin_nt-i386″ folder to “Debugger”. Next rename the 4_3_x_comp, 5_2_x_comp, etc. folders to php-4.3.x, php-5.2.x etc. (look in ..\Optimizer directory for reference). Each …\lib\Debugger\php-X.X.x dir contains ZendDebugger.dll.

Next edit C:\xampp\php\php.ini (or C:\xampp\apache\bin\php.ini – check your phpinfo() to see which one your PHP is using) [Zend] section. The critical option is “zend_extension_manager.debug_server_ts” which points to the directory containing php-X.X.x debugger dll directories. Following content will do:

[Zend]
zend_extension_ts = "C:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll"
zend_extension_manager.verbose=On
zend_extension_manager.optimizer_ts = "C:\xampp\php\zendOptimizer\lib\Optimizer"
zend_optimizer.enable_loader = 0
zend_optimizer.optimization_level=15
;zend_optimizer.license_path =
zend_extension_manager.debug_server_ts = "C:\xampp\php\zendOptimizer\lib\Debugger"
zend_debugger.expose_remotely=allowed_hosts
zend_debugger.allow_hosts=127.0.0.1/24,192.168.0.0/16
zend_debugger.allow_tunnel=127.0.0.1/32

Next restart Apache, open http://localhost/xampp/phpinfo.php and look whether the Zend Debugger is enabled.

Good luck.


Posted in HowTo.

Tagged with , , .


9 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Justin says

    Wow, how the heck did you find out to do that?
    Thanks for the tip, I would have never figured that out…

  2. Tomasz Sterna says

    A LOT of googling, merged info from several sources, aplied error messages from logs and some thinking and it finally worked.

    But no – it’s not documented anywhere (except this post now). ;-)

  3. Grzesiu says

    Thanks for your manual. But I don’t get it running (“Could not establish connection”). :(
    Which configuration do you have in Zend? These are I have: http://www.speedupload.eu/bild.php/70,zendeinstellungenOBLMD.jpg
    I don’t know a way to check whats wrong. Are there some log files? xampp/apache/logs/error.log doesn’t include messages about this.

  4. Tomasz Sterna says

    If you do not see any errors, this means that Apache configuration is correct.
    Unfortunately I use Eclipse PDT and Zend Debugger just works there – I didn’t have to configure anything (just selected that I am using Zend Debugger).

  5. website design says

    Thank you for the great tips. I did update my php.ini in apache\bin\ directory. I was wondering if I was supose to update the 2 php.ini and php5.ini in xampp\php as well ?

    Thank you

  6. Tomasz Sterna says

    You may if you use the standalone/CGI PHP binaries. The Apache SAPI PHP module uses the php.ini in apache\bin directory. You may check it yourself with phpinfo() function.

  7. Javier R. Ruzafa says

    Thanks for this tip but I can’t to run this configuration out. If I use ZendExtensionManager, debugger library doesn’t appear in info page like it was not loaded. I’ve written down just this lines in my php.ini file:

    [Zend]
    zend_extension_ts = “D:\xampp\php\zendOptimizer\lib\ZendExtensionManager.dll”
    zend_extension_manager.verbose=On

    ;zend_extension_manager.optimizer_ts = “D:\xampp\php\zendOptimizer\lib\Optimizer”
    zend_optimizer.enable_loader = 0
    zend_optimizer.optimization_level=15
    ;zend_optimizer.license_path =
    ; Local Variables:
    ; tab-width: 4
    ; End:

    ;20090612 javier zend debugger
    ;zend_extension_ts=”D:\xampp\php\zendOptimizer\lib\Debugger\ZendDebugger.dll”
    zend_extension_manager.debug_server_ts = “D:\xampp\php\zendOptimizer\lib\Debugger\ZendDebugger.dll”
    zend_debugger.expose_remotely=allowed_hosts
    zend_debugger.allow_hosts=127.0.0.1/24,10.104.6.177/200,169.254.214.222/248
    ;;zend_debugger.expose_remotely=always
    zend_debugger.allow_tunnel=127.0.0.1/32
    ;zend_debugger.connector_port=10001

    Any idea about?
    Thanks

  8. Tomasz Sterna says

    Have you checked that your PHP is using the php.ini you’re editing?
    I was scratching my head lately after upgrade to the newest XAMPP release and it turned out they changed the Apache module php.ini location to \XAMPP\php\php.ini

  9. Jose Brañez says

    This solution works great!!! thanks a lot!!!



Some HTML is OK

or, reply to this post via trackback.