ID:               13035
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
 Status:           Open
 Bug Type:         Apache related
 Operating System: Linux 2.4.6
 PHP Version:      4.0.6
 New Comment:

This problem has been annoying me for a while and is still present in
4.1.2 (CGI) at least.  I stepped through the code in a debugger and
found out that when the php script doesn't exist then zend_error() is
called at the lower-level, but the zend_catch in cgi_main.c catches the
error and the php execution ends without any HTTP headers or
anything... hence the '500 Server Error'.

I don't know enough about the way Zend works to propose a patch, but I
found a nice WORKAROUND... in your php.ini, set

  log_errors=On;

This way, the error message will be sent to your Apache error_log, and
the php execution will end nicely with proper HTTP headers, but an
empty document, which is better than a 500 server error.


Previous Comments:
------------------------------------------------------------------------

[2002-03-07 14:26:29] [EMAIL PROTECTED]

Yes with PHP 4.1.2 the problem occures still for me.

------------------------------------------------------------------------

[2002-01-17 19:32:26] [EMAIL PROTECTED]

I dont know. I dont have 4.1.1 compiled as a CGI anywhere, won't have
time to do it and test it until next week probably.

------------------------------------------------------------------------

[2002-01-12 14:46:54] [EMAIL PROTECTED]

Is still still valid with latest apache and php?

------------------------------------------------------------------------

[2001-08-29 12:12:13] [EMAIL PROTECTED]


If PHP is used as a CGI program via:
    Action php-script /cgi-bin/php
    AddHandler php-script .php .php3

any .php page which is not found results in 500 SERVER ERROR in the
browser instead of 404 NOT FOUND. The php binary is returning nothing
in its response to this situation.

To wit:

The Apache error_log reports "Premature end of script headers"

The script_log (enabled with Apache's ScriptLog directive) reports:
%% [Wed Aug 29 12:09:58 2001] GET /cgi-bin/php/nothere.php HTTP/1.0
%% 500 /usr/local/httpd/cgi-bin/php
%request
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png,
*/*
Accept-Charset: iso-8859-1,*,utf-8
Accept-Encoding: gzip
Accept-Language: en
Connection: Keep-Alive
Host: localhost
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.6 i686)
%response


###
php was compiled with "'./configure' '--with-mysql=/usr' '--with-gd'
'--with-imagick'                                               
'--enable-discard-path' '--enable-force-cgi-redirect'"



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=13035&edit=1

Reply via email to