ID: 21756
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Feedback
+Status: Open
Bug Type: Reproducible crash
Operating System: Linux/Apache (Debian 3.0r1)
PHP Version: 4.3.0
New Comment:
Yes, you're right, the include() statement in my toy example should
have been wrapped in a pair of braces - the actual code does not
contain calls to include() however...
I'm sorry I could not provide a backtrace - the thing refused to
misbehave when gdb was listening. Prehaps someone who is more familiar
with the Apache (1.3) / PHP interface will know where to examine more
closely.
Previous Comments:
------------------------------------------------------------------------
[2003-01-20 00:04:35] [EMAIL PROTECTED]
Sounds pretty unlikely for the crash being caused
by unset variable/array index.
And btw. If you conditionally include() files, then
you MUST use { } with the clauses:
http://www.php.net/manual/en/function.include.php
(Example 12-6)
Maybe this caused the crashes?
------------------------------------------------------------------------
[2003-01-19 14:34:35] [EMAIL PROTECTED]
If the special global $_SERVER['PATH_INFO'] is accessed in scripts on
either my test or production server when it is not set (on load of home
page usually) it causes Apache to segfault intermittently (like 1/100
page views...).
eg, this is what caused me grief:
if( $_SERVER['PATH_INFO'] == 'whatever')
include( 'whatever_else');
Wrapping in call to 'isset' stopped crashes:
if( isset($_SERVER['PATH_INFO']) )
if( $_SERVER['PATH_INFO'] == 'whatever')
include( 'whatever_else');
Was really hard to reproduce. In the end I sat at a split screen
comparing the error to the access log, second by second. The error log
was reporting ~100-300 segfaults a day untill I used the call to isset,
when that dropped to zero. (After a fun 6 hours trying to catch it
with gdb...)
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=21756&edit=1