#13035 [Com]: 404 on a .php results in SERVER ERROR when using php as a cgi
| From: | morissette at dmsolutions dot ca | Date: | Thu, 24 Oct 2002 13:35:36 +0000 |
| Subject: | #13035 [Com]: 404 on a .php results in SERVER ERROR when using php as a cgi | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-23191@lists.php.net to get a copy of this message | ||
ID: 13035
Comment by: morissette@dmsolutions.ca
Reported By: sbeam@ne.mediaone.net
Status: Bogus
Bug Type: Apache related
Operating System: Linux 2.4.6
PHP Version: 4.0.6
New Comment:
I would like the PHP developers to please consider reopening this bug.
I don't think it is bogus. It still happens with PHP 4.2.x:
The problem is simple: when using PHP as a CGI and pointing to a
non-existing PHP file, instead of a 404 error we receive an empty page
or a 500 - Internal Server error from the PHP CGI due to missing HTTP
headers.
I think the solution is that the PHP CGI should be modified to return a
404 error header when it cannot find the .php file that it is being
pointed to.
Previous Comments:
------------------------------------------------------------------------
[2002-06-13 18:04:46] sniper@php.net
Sorry, but the bug system is not the appropriate forum for asking
support questions. Your problem does not imply a bug in PHP itself.
For a list of more appropriate places to ask for help using PHP,
please visit http://www.php.net/support.php
Thank you for your interest in PHP.
------------------------------------------------------------------------
[2002-03-26 18:50:25] morissette@dmsolutions.ca
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.
------------------------------------------------------------------------
[2002-03-07 14:26:29] jamie-php@hungry.com
Yes with PHP 4.1.2 the problem occures still for me.
------------------------------------------------------------------------
[2002-01-17 19:32:26] sbeam@ne.mediaone.net
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] lobbin@php.net
Is still still valid with latest apache and php?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/13035
--
Edit this bug report at http://bugs.php.net/?id=13035&edit=1