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]