ID: 13035 Comment by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Feedback Bug Type: Other web server Operating System: Linux 2.4.6 PHP Version: 4.2.3 New Comment:
OK, I downloaded and built yesterday's CVS snapshot (php4-200210311500) and the problem is still present: pointing the PHP CGI to a non-existing .php file produces no output, which results in a "missing HTTP headers" error in the Apache error_log. I did not submit the original bug, so I'm not able to reopen this bug myself. BTW, I tried this with an old PHP 3.0.16 CGI to see what it used to do, and PHP3 would produce the following output when pointed to a non-existing PHP file... not quite as good as a real 404 error, but better than nothing: X-Powered-By: PHP/3.0.16 Content-type: text/html <br> <b>Fatal error</b>: Unable to open ttt.php in <b>-</b> on line <b>0</b><br> Previous Comments: ------------------------------------------------------------------------ [2002-10-29 04:24:46] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip ------------------------------------------------------------------------ [2002-10-28 23:27:23] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip Reopen to confirm if the problem is in 4.3.0-dev ------------------------------------------------------------------------ [2002-10-24 08:35:35] [EMAIL PROTECTED] 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. ------------------------------------------------------------------------ [2002-06-13 18:04:46] [EMAIL PROTECTED] 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] [EMAIL PROTECTED] 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. ------------------------------------------------------------------------ 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