ID: 41810
Updated by: [EMAIL PROTECTED]
Reported By: d dot albano at gmail dot com
-Status: Open
+Status: Bogus
Bug Type: Feature/Change Request
Operating System: Linux
PHP Version: 5.2.3
New Comment:
>it is something like a logical bug
It's something like a logical bug to catch parse errors using an error
handler defined in the same script, cause the parse error may happen in
the handler itself.
The parse error happens BEFORE execution starts, at the compilation
stage, so it's just phisically impossible to call something that does
not exist at that moment.
Previous Comments:
------------------------------------------------------------------------
[2007-06-26 10:46:51] d dot albano at gmail dot com
Description:
------------
Hi,
i've seen that set_error_handler doesn't let to the code to catch Parse
Errors. I know that set_error_handler documentation page on php manual
says that this error can't be catched, so this isin't a true bug: it is
something like a logical bug because using strange tricks you can catch
parse errors for included files.
So, instead to force php developers to do strange tricks to catch parse
errors why don't try to send parse errors throught user defined error
handler, if it is setted? I know that this isin't so simply but it is
becoming necessary: in an advanced system is vitally catch any kind of
error that can cause problem to page execution and this comprises
catching every kind of errors that can be generated by third party
module or every included file.
I understand that there isin't an easy way to do but a point of start
can be define it through htaccess/php_value or simply use it only with
included files after that set_error_handler is setted
Reproduce code:
---------------
# main.php:
<?php
function error_handler($errno, $errstr, $errfile, $errline)
{
echo 'error catched!';
}
set_error_handler('error_handler');
require_once('file_with_parse_error.php');
?>
# file_with_parse_error.php:
<?php
--- this is a voluntary php parse error ---
?>
Expected result:
----------------
Browser should show:
error catched!
Actual result:
--------------
Browser output:
Parse error: syntax error, ....
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=41810&edit=1