Edit report at https://bugs.php.net/bug.php?id=41810&edit=1

 ID:                 41810
 Comment by:         james dot dobb at gmail dot com
 Reported by:        d dot albano at gmail dot com
 Summary:            Unable to catch Parse Errors
 Status:             Not a bug
 Type:               Feature/Change Request
 Package:            *General Issues
 Operating System:   Linux
 PHP Version:        5.2.3
 Block user comment: N
 Private report:     N

 New Comment:

I agree that this, perhaps not a bug but a missing feature needs to be 
addressed,  
There should be a secure way of including scripts from another script and be 
able 
to continue the calling script if an error occurs, the lack of functionality 
here 
is causing me a major headache.....


Previous Comments:
------------------------------------------------------------------------
[2010-07-02 13:41:24] paj...@php.net

It is not, please double read the manual about require/include_once.

------------------------------------------------------------------------
[2010-07-02 12:34:32] sneak at datavibe dot net

This classification is not bogus at all.  Consider the following:

== main.php ==

<?php

$filename = sprintf("%s.php", 'myfile' );
include_once($filename);

?>

== myfile.php ==

<?php

syntax errors here !@#$%^&*()_

?>



The parsing of myfile.php must necessarily happen at main.php's RUNTIME, 
because 
the filename is not available until sprintf() is called.

This is a bug.

------------------------------------------------------------------------
[2007-07-03 16:36:51] tony2...@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php



------------------------------------------------------------------------
[2007-07-03 16:29:58] d dot albano at gmail dot com

Looking to the code looks simply to do the modification, naturally, as you 
said, the problem is testing.

However i founded an eval behaviour to support my feature request: if there is 
a parse error execution continues

Can be that this is a bug or an unwanted behaviour, however nothing start to 
work strange after that a parse error was outputted.

So, if all works with eval why it shouldn't work correctly with normal parse 
errors?

Here there is some example code:
<?php

echo "BEGIN";

eval('echo "{$SYNTAX-ERROR"');

echo "END";

?>

It output
BEGIN
Parse error: syntax error, unexpected '-', expecting '}' in 
C:\web\htdocs\test.php(5) : eval()'d code on line 1
END

------------------------------------------------------------------------
[2007-06-26 13:07:22] d dot albano at gmail dot com

When i said:
> If it remains in a unstable state there is serious problem somewhere

i answered to your phrase:
> After parse error the parser/compiler and whole engine may be in
unstable state

If parsing a file may put the entire engine in an unstable state there is a 
problem: never heard that a parser can do this

The problem can be that the engine is written to shutdown after a parser error 
and this is can cause troubles i think, but the problem is that i'm not 
zend/php developer :)

However i don't think that is necessary to rewrite the engine from the scracth, 
a feature like this, at logic level, must follow rules followed by other errors

This afternoon i'll take a look to the parser and to the zend engine to 
understand how errors are passed

Thanks a lot
Bye

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


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

    https://bugs.php.net/bug.php?id=41810


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

Reply via email to