#18824 [Opn->Bgs]: PHP should produce an appropriate status code when an error is encountered
| From: | rasmus@php.net | Date: | Fri, 09 Aug 2002 06:15:54 +0000 |
| Subject: | #18824 [Opn->Bgs]: PHP should produce an appropriate status code when an error is encountered | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-16355@lists.php.net to get a copy of this message | ||
ID: 18824
Updated by: rasmus@php.net
Reported By: bugs.php.net@mnot.net
-Status: Open
+Status: Bogus
Bug Type: Feature/Change Request
Operating System: unknown (maybe FreeBSD?)
PHP Version: 4.2.2
New Comment:
You are assuming that PHP buffers all output before sending anything.
That is an incorrect assumption. A fatal script error can occur long
after the HTTP response headers have been sent.
Previous Comments:
------------------------------------------------------------------------
[2002-08-09 02:09:32] bugs.php.net@mnot.net
I don't use PHP, I'm just a protocol weenie.
I encountered the following from travel.yahoo.com tonight:
HTTP/1.1 200 OK
Date: Fri, 09 Aug 2002 06:02;01 GMT
Connection: close
Content-Type: text/html
<br />
<b>Fatal error</b>: Cannot instantiate non-existent class: travel
in <b>/home/y/share/htdocs/t/index.php</b> on line <b>19</b><br />
Fine, except that it gives a 200 OK status. The right thing would be to
generate a 500 Server Error status; this indicates that something is
wrong in a machine-understandable way, which is good. It shows up in
the logfiles. Agents (like Google) understand that all is not well.
Please modify PHP to generate appropriate status codes. 500 is just one
example; have a look at RFC2616 for other status codes that you might
want to map machine-understandable semantics to.
Cheers,
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=18824&edit=1