This code: $ less test.php <?php
echo phpversion(); echo "<br />"; include "include.php"; include "include.php"; test(); ?> $ less include.php <?php if(defined("INCLUDE")) return; define("INCLUDE", 1); function test(){ echo "test"; } ?> With 4.0.6 I get: 4.0.6 test With 4.1 RC3 I get: 4.1.0RC3<br /><br> <b>Fatal error</b>: Cannot redeclare test() in <b>/home/brian/public_html/include.php</b> on line <b>9</b><br> with CVS I get: 4.2.0-dev<br /><br /> <b>Fatal error</b>: Cannot redeclare test() (previously declared in /home/brian/public_html/include.php:8) in <b>/home/brian/public_html/include.php</b> on line <b>9</b><br /> Andi, Zeev, I thought we were going to back out that change? Brian. ----- Original Message ----- From: "Andi Gutmans" <[EMAIL PROTECTED]> To: "Brian Moon" <[EMAIL PROTECTED]>; "Markus Fischer" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Wednesday, November 28, 2001 2:23 PM Subject: Re: [PHP-DEV] BC problem | Yep. As far as I remember it was reverted in 4.1.0 | | Andi | | At 01:54 PM 11/28/2001 -0600, Brian Moon wrote: | >This has already been discussed at great length in another thread. I | >believe it was decided to put it all back like it was for now and decide on | >a better solution later. | > | >Brian. | > | >----- Original Message ----- | >From: "Markus Fischer" <[EMAIL PROTECTED]> | >To: <[EMAIL PROTECTED]> | >Sent: Wednesday, November 28, 2001 11:05 AM | >Subject: [PHP-DEV] BC problem | > | > | > > A small example which shows that BC seems to be broken for a | > > certain (but not uncommon) case: | > > | > > cat include_me.php | > > <? | > > if (!defined('I_AM_INCLUDED')) { | > > define('I_AM_INCLUDED', 1); | > > } else { | > > echo "returning<br>\n"; | > > return; | > > } | > > | > > function cant_be_redefined() { | > > } | > > ?> | > > | > > cat include_it.php | > > <? | > > echo "1<br>\n"; | > > include 'include_me.php'; | > > echo "2<br>\n"; | > > include 'include_me.php'; | > > echo "3<br>\n"; | > > ?> | > > | > > Now run include_it.php (it doesn't matter if its CGI or | > > module): | > > | > > On PHP 4.0.4pl1 up to 4.0.6 this gives: | > > 1<br> | > > 2<br> | > > returning<br> | > > 3<br> | > > | > > But now I get: | > > 1<br> | > > 2<br> | > > <br /> | > > Fatal error - Cannot redeclare cant_be_redefined() | > > (previously declared in include_me.php:9) | > > | > > [I shortened the error message to be more readable] | > > | > > | > > If this is 'now the way it is' this should be mentioned | > > somewhere very clearly I think. Doesn't seem to be fixable in | > > some way? Couldn't find a reference to it e.g. in the NEWS | > > file. | > > | > > | > > I know that there should be used include_once() but | > > I'm talking about existing code writing that way which | > > definitely won't work without modifications. | > > | > > - Markus | > > | > > ps: thanks to Jan for verifying this! | > > | > > -- | > > Please always Cc to me when replying to me on the lists. | > > | > > -- | > > PHP Development Mailing List <http://www.php.net/> | > > To unsubscribe, e-mail: [EMAIL PROTECTED] | > > For additional commands, e-mail: [EMAIL PROTECTED] | > > To contact the list administrators, e-mail: [EMAIL PROTECTED] | > > | > > | > > | > | > | >-- | >PHP Development Mailing List <http://www.php.net/> | >To unsubscribe, e-mail: [EMAIL PROTECTED] | >For additional commands, e-mail: [EMAIL PROTECTED] | >To contact the list administrators, e-mail: [EMAIL PROTECTED] | | | -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]