2012-04-26 56 views
3

被这一个难住了。此代码是给我升级到PHP 5.4.0后调用未定义的方法

PHP Fatal error: Call to undefined method MyObject::helloWorld()

但只有我运行它的第二次,第一次运行良好。

class MyObject 
{ 

    function __construct() 
    { 
    echo("creating MyObject..."); 
    } 


    public function helloWorld() 
    { 
    echo("Hello World!"); 
    } 


} 

$obj = new MyObject(); 
$obj->helloWorld(); 

我还看到“创建MyObject ...”第二次生成,但不是“Hello World!”。

我正在升级到PHP 5.4.0的过程中。

我必须错过一些真正明显的东西。

回答

11

这是APC错误...您可以在/etc/php.ini/etc/php.d/apc.ini中应用修补程序或禁用APC,具体取决于您的配置。

第一次运行脚本时,操作码正在生成并由APC缓存,第二次运行脚本操作码时,将从APC缓存中取出操作码。由于APC缓存不好,您的脚本在秒运行时失败。

看到这个错误的引用php #61219php #60658

+0

没错。那完全是它。谢谢Alex! – Bill 2012-04-27 17:47:25

+0

@alex:您的帮助是必需的;)http://stackoverflow.com/questions/11147549/anyone-successfully-serving-high-traffic-with-php-5-4-4-and-apc-3-1- 10 – hakre 2012-06-21 22:16:12

相关问题