被这一个难倒。这段代码给了我
PHP致命错误:调用未定义的方法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。
我必须遗漏一些非常明显的东西。
答案 0 :(得分:11)
这是APC错误...您可以在/etc/php.ini
或/etc/php.d/apc.ini
中应用修补程序或禁用APC,具体取决于您的配置。
第一次运行脚本时,操作码生成并由APC缓存,第二次运行脚本操作码从APC缓存中提取。因为APC缓存很糟糕,所以在第二次运行时脚本会失败。
请参阅此错误以获取参考php #61219和php #60658