BTW take a look at zenderror(). This function is called when there's a parse error.
It leads to an E_PARSE error and setting EG(exit_status) to 255.
If there is a problem, and I haven't quite understood what the problem is today, that might be the place to fix it in.


Andi

At 11:17 PM 1/31/2004 +0200, Andi Gutmans wrote:
I think I missed out on the original problem. What does the fix, fix? Isn't a parse error automatically a fatal error?
If you revert your patch what won't work?
Andi


At 09:59 AM 1/30/2004 -0500, Ilia Alshanetsky wrote:
It seems like the only way to distinguish between a parse error and a
non-existant file for regular include() is by doing a zend_stream_open() upon
failure to determine if the file is avaliable. If it is, then we return a
parse error and if it does not we continue execution. This does add a small
overhead for failed includes, but IMHO if a non-existant files are being
included performance is not a big consideration.

That said, if there is much opposition to the approach I would be happy to
revert the code to the previous state.

Ilia

P.S. Suggested 'fix' is attached.

On January 30, 2004 05:29 am, Rasmus Lerdorf wrote:
> Ilia, I think there is a problem with your latest fixes on the 4_3 branch.
> Stuff that used to work is now broken.  Stuff like this:
>
> main.php:
>
>    include 'inc1.inc';
>
> inc1.inc:
>
>    @include 'inc2.inc';
>
> If inc2.inc does not exist we now get an error similar to:
>
> Warning: main(./lang/serendipity_lang_.inc.php): failed to open stream: No
> such file or directory in /var/www/s9y/serendipity_lang.inc.php on line 5
>
> Warning: main(): Failed opening './inc2.inc' for
> inclusion (include_path='.:/usr/local/lib/php') on line {the include line
> #}
>
> Fatal error: Parse error inside included file. in
> /var/www/htdocs/inc1.inc on line {the include line #}
>
> Remember that it is ok for an include to not find the file.  We issue a
> warning and move on.  It should in no way be treated as a fatal error.
>
> -Rasmus

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php

-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to