View Full Version : Zend Debugger will not load
2012-11-21, 01:49 AM
I'm trying to set up remote PHP debugging with Zend Debugger (http://www.zend.com/en/solutions/php-debugging/) (I tried installing Xdebug (http://www.xdebug.org), but it conflicts with ionCube Loader). I've followed the instructions (http://forums.zend.com/viewtopic.php?f=59&t=962#p4190) for Linux. For example, I've added the following lines to the end of /etc/php.ini:
I don't have the full path to ZendDebugger.so because it's in extension_dir (/usr/lib64/php/modules).
After restarting Apache, there isn't anything different in phpinfo(). Also, I can't find any problems in the Apache error log (/var/log/httpd/error_log). Does anyone have experience with this sort of thing?
2012-11-21, 08:54 AM
I think this following line needs the full path to the Zend Debugger binary
2012-11-21, 09:02 AM
Which OS machine are you running again?
Just looking around a bit, i see here: Zend Forums • View topic - Sticky Notes: Setting Up Zend Debugger (http://forums.zend.com/viewtopic.php?f=59&t=962) that ioncube loader can be prolematic with zend debugger aswell :S
"Zend Debugger may not load, crash or produce errors when used in conjunction with some other Zend Engine extensions. The most common examples are Zend Optimizer, Zend Loader, ionCube Loader and XDebug. For Zend Optimizer or Zend Loader it is recommended to use Zend Extension Manager, which will fix these compatibility issues. In case of ionCube Loader and XDebug make sure that Zend Debugger is loaded after these extensions. The loading order is defined by the order of corresponding directives in the configuration files. Therefore, the best approach is to add Zend Debugger directives at the very end of php.ini."
That said, i would focus on getting it to run locally on your VPS before attempt to access it externally as that may require vhosts and various configurations that may conflict with Plesk (which i believe you run as well?).
Best bet is enable it locally per directives in the article above and view it through over ssh with curl or similar to make sure its actually responding properly.
2012-11-22, 12:12 AM
PHP says that extensions in extension_dir (http://www.php.net/manual/en/ini.core.php#ini.extension-dir) are dynamically loaded. However, I added the full path, just to be safe:
I'm running CentOS 5.5 x64.
I can't set up local debugging because I don't have PHP installed on my laptop. And I don't think I even want to try installing PHP on Windows, because I want to debug in the same environment that the users will be using.
If the debugger isn't loading, shouldn't there be an error message in a log file somewhere? I've already checked the Apache logs (/var/log/httpd/) but couldn't find anything.
If I were to actually get it loaded, there wouldn't be any other configuration changes, except for my local Aptana (http://www.aptana.com) installation. I don't believe it would conflict with Plesk.
2012-11-22, 09:09 AM
Have you seen this article: KB Parallels (http://kb.parallels.com/en/1520)
Its specific to ionCube loader but explains the ins and outs of such extensions on a plesk server. Plesk does play a significant role in how php and apache are run so i do believe this must be taken into account. Unfortunately, i haven't configured zend myself.
2012-11-22, 09:13 AM
Ah, this may also help. Try running "PHP -m" to see if there are any issues with your modules. Re: PHP 5.3.5 With Zend Debugger - Stack Overflow (http://stackoverflow.com/questions/7188149/php-5-3-5-with-zend-debugger)
2012-12-15, 04:52 AM
Ah, this may also help. Try running "PHP -m" to see if there are any issues with your modules.
I was able to see the error message by using "php -m", which was:
Failed loading /usr/lib64/php/modules/ZendDebugger.so: libssl.so.0.9.8: cannot open shared object file: No such file or directory
Now that I had an actual error message, I could start troubleshooting...
It appears that Zend Debugger looks for the libssl.so.0.9.8 Shared Object, which is actually a very old version. For some reason it doesn't see the current version, libssl3.so. I was able to do a work-around by creating a symlink (http://ss64.com/bash/symlink.html) between the two. An actual fix would be up to Zend to do.
Thanks for all the help.