ID: 31451
Updated by: [EMAIL PROTECTED]
Reported By: syre at citiz dot net
-Status: Assigned
+Status: Wont fix
Bug Type: Scripting Engine problem
Operating System: *
PHP Version: 4CVS-2005-01-18
New Comment:
We are sorry, but we can not support PHP 4 related problems anymore.
Momentum is gathering for PHP 6, and we think supporting PHP 4 will
lead to a waste of resources which we want to put into getting PHP 6
ready.
Previous Comments:
------------------------------------------------------------------------
[2005-01-11 04:08:44] syre at citiz dot net
<?php
class ObjectShell {
var $_target;
function ObjectShell(&$target) {
$this->_target=$target;
overload('ObjectShell');
}
function __get($name, &$value) {
return true;
}
function __set($name, $value) {
return true;
}
function __call($func, $args, &$return) {
$return=1;
return true;
}
function func1(){
echo "func1() called ";
return $this->_target->func1();
}
}
class Test {
function func1() {
return 2;
}
}
$t=new Test;
$p=new ObjectShell($t);
//this will work
echo $p->func1();
echo "<br>\n";
//this will result "stack overflow" on php4.3.10
//if remove ObjectShell::__set,
//or ObjectShell::__func1()
//or replace ObjectShell::func1()
//with func1($a, $b){ return 1 }
//it will also ok
?>
------------------------------------------------------------------------
[2005-01-08 12:18:49] syre at citiz dot net
Description:
------------
//that will ok
echo $p->var1;
echo "<br>\n";
echo $p->func1(9,7);
//that will cost script time out
//the same code will ok on 4.3.8 / 4.3.2
echo $p->func1(9,7);
echo "<br>\n";
echo $p->var1;
Reproduce code:
---------------
http://community.csdn.net/Expert/topic/3707/3707113.xml?temp=.141308
Expected result:
----------------
1024<br>
16<br>
16<br>
1024
Actual result:
--------------
script time out
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=31451&edit=1