ID:               26814
 Comment by:       magnus at monkerud dot com
 Reported By:      mccarthy36 at earthlink dot net
 Status:           Closed
 Bug Type:         *General Issues
 Operating System: *
 PHP Version:      5CVS, 4CVS
 New Comment:

actually the way i see it, the main/parent code should continue, it
should just not run the wrongly parsed child include() /
include_once(), if the main quits just due to a simple parse error then
the whole point of differenciating between fatal errors and parse
errors goes away.



+ that it makes plugin making very hard in CLI / RUNTIME CONSOLE
enviroments, when working on a plugin on a maincode in runtime, and you
do a simple parse error in the plugin, then save, then the whole
runtime goes down and quit, which makes plugin making a slow
nightmare.



Magnus


Previous Comments:
------------------------------------------------------------------------

[2004-01-25 18:49:55] [EMAIL PROTECTED]

This bug has been fixed in CVS.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
 
Thank you for the report, and for helping us make PHP better.



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

[2004-01-06 17:37:19] [EMAIL PROTECTED]

one more comment: using require() doesn't matter either, still the main
script is run to the end..



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

[2004-01-06 17:35:55] [EMAIL PROTECTED]

Parse error -> execution should stop ?

(but it doesn't, that's the bug here, IMO)



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

[2004-01-06 11:10:02] mccarthy36 at earthlink dot net

Description:
------------
I don't know if this is considered a bug, but in my opinion it's
undesirable behavior.  I'm finding that if I try to include a file that
has a parse error, the file is not included -- the include function
used returns false -- but the "included" file name is in the array
returned by get_included_files().

Reproduce code:
---------------
(file 1)

<?php



$worked = "NO";



echo "*", include_once( 'included.php' ), "*";



echo "<pre>"; var_dump( get_included_files() ); echo "</pre>";



echo "#{$worked}#";



?>



(file 2)

<?php



$worked = "YES";



$name = "blah "whatever";



?>

Expected result:
----------------
Since there is a parse error in the "included" file, and include_once()
returns false, I expect the name of the "included" file not to appear
in the array returned by get_included_files().

Actual result:
--------------
include_once() returns false, yet the name of the "included" file is in
the array returned by get_included_files().


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


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

Reply via email to