Apache crashes when I'm stepping through PHP.
I'm running Apache 2.2 on Win2k SP4 on my local machine. I have been using Zend's debugger for the last few months to bring up a Drupal (PHP) site, but it extracted a great price in system stability and programmer frustration. Giving in to a fit of anger, I have done my best to purge it from my system. I've installed a fresh version of PHP 5.2.2 (including patching in the the old libmysql.dll). My Drupal site still works fine, both locally and on my isp.
Now I have installed your Komodo 4.3 free trial. It looks good (except it's still not clear to me how one debugs complex forms). xdebug is installed as a zend (shudder) extension. (Although a "PHP -m" at the console lists xdebug as both a php module and a zend module - some of the posts I've seen suggest this is bad, but I haven't yet tumbled to how to just load it as a zend module.)
I have Firefox and have installed the "xdebug helper" extension, although the behavior I'm writing about occurs even when I start with the "?XDEBUG_SESSION_START=myname" method. Python is also loaded and when I invoke "pydbgpproxy.py -i 9001 -d 9000", it gives every appearance of standing at attention. I have Komodo set to look for a proxy at 127.0.0.1:9001
So, I point Firefox at a "hello.php" in Apache's webroot. This file is just a couple assignment statements and print statements ending with a phpinfo(). It runs fine. I then fire off the debugger (using either method), and behold, the debug cursor lands just as expected on the first line of the program. Stepping through, I get past the assignments and see them in the variable pane. Usually I get past the one of the print statements (as if it's filling a buffer) then, sometimes on a print statement and always on the phpinfo(), if it gets that far, Apache goes down: "Program Error: httpd.exe has generated errors and will be closed by Windows. You will need to restart the program."
Does this ring any bells? Does Apache want something loaded? As I say, everything seems to work fine, otherwise. My search so far hasn't found any reference to a bug like this, and I'm beginning to think I'm missing something obvious.
Sorry this is so verbose, but thanks for your attention.
-- Bill
Hi Bill,
I also see Xdebug show up twice when running "php -m". Once in the Modules list and once in the Zend Modules list.
A couple of ideas for this:
* ensure that no other zend modules are being loaded (such as the Zend Optimizer)
* ensure your using "zend_extension_ts=" on windows (thread safe) in your php.ini and not "zend_extension="
* could you paste the lines you've used in your php.ini to enable Xdebug?
Todd.
Xdebug *can be* loaded either via 'extension=php_xdebug.dll' or 'zend_extension_ts=php_xdebug.dll', but for your purposes, you should only have the latter in your php.ini. Komodo debugging will not work correctly if also use the former method for loading the extension.
--
JeffG
Todd --
Thanks for your help.
I think I've got the last traces of zend out of the system. There were a few files left over from the uninstall, but they were mostly configuration files, I think. In any case, they're gone now.
But it still behaves the same -- crashes Apache when I step through a print statement.
Here are my xdebug lines in php.ini
zend_extension_ts=C:\wamp\php\ext\php_xdebug.dll
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
cgi.force_redirect = 0
Both php.ini's (in the php directory and in the system directory) have these lines.
Thanks again.
-- Bill
Hi, JeffG --
Thanks for jumping in.
Neither of the php.ini's listed by phpinfo() when called from the webroot by Apache (that is, neither C:\wamp\php\php.ini nor C:\WINNT\php.ini) have the line:
extension=php_xdebug.dll
The only occurrence of the string "xdebug" in either is in the line I quoted in the post above. There is a copy of php.ini in Abache2/bin, but it also has the "zend_extension" line but not the "extension" line. Besides, I don't think that copy is actually read. Maybe I should get rid of it, though.
I load php onto Apache with
PHPIniDir c:/wamp/php
LoadModule php5_module c:/wamp/php/php5apache2_2.dll
in httpd.conf, if that helps.
-- Bill
Hi Bill,
Which version of xdebug are you using? It should be shown in a php page that uses "<?php phpinfo() ?>".
Are you using the "xdebug.dll" from Komodo's installation directory?
Thanks,
Todd
Todd --
I think that may have been it. The copy of xdebug I was using came from xdebug.org during an earlier stage of this process. I copied the version from the Komodo release on top of it, and now it works!
The first thing I did was check out the place I had originally stalled in my Drupal code. The breakpoint worked like a snap, and I'm on my way with a fix.
Just right.
Many thanks to you and Jeff.
-- Bill
I am using iPlanet enterprise server4.1 on Win2k prof. It was not serving jsp pages and throwing error message that jvm.dll not found in path. I added that in path, but still showing the same error. I restarted the machine and now whenever I try to start iPlanet, it throws error: "httpd.exe has generated errors and will be closed by Windows.". I changed the path variable to that it was earlier, but to no avail.
localhost:89 returns - can't find the server.
My server is supposed to run on port 89 and "netstat -a" doesn't return any service that's occupying that port.
Any help?
Vicky
Sorry Vicky, but this forum is meant to help people who have problems using Komodo. As such, we don't have the experience to help out with the iPlanet installation problems. I'd recommend posting to one of the iPlanet related forums on the web...
Cheers,
Todd