3

これに困惑した。このコードは私に与えています

PHP 致命的なエラー: 未定義のメソッド MyObject::helloWorld() の呼び出し

しかし、それを実行するのは 2 回目だけで、1 回目は問題なく実行されます。

class MyObject
{

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


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


}

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

また、「作成中の MyObject...」が 2 回目に生成されますが、「Hello World!」は生成されません。

PHP 5.4.0 にアップグレード中です。

本当に明白な何かが欠けているに違いありません。

4

1 に答える 1

11

これは APC のバグです...構成に応じて、パッチを適用するか、APC を無効にすることができ/etc/php.iniます/etc/php.d/apc.ini

スクリプトを初めて実行すると、オペコードが生成され、APC によってキャッシュされます。2 回目にスクリプトを実行すると、オペコードは APC キャッシュから取得されます。APC キャッシュが悪いため、スクリプトの実行は数秒で失敗します。

リファレンスphp #61219およびphp #60658については、このバグを参照してください。

于 2012-04-27T04:34:14.587 に答える