2012-04-26 2 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 ... вы можете применить исправление или отключить APC в /etc/php.ini или /etc/php.d/apc.ini в зависимости от ваших конфигураций.

При первом запуске сценария код операции генерируется и кэшируется APC, второй раз, когда вы запускаете код сценария, вытягивается из кэша APC. Поскольку кеш APC плохо работает, ваш скрипт выходит из строя в секундах.

Смотрите эти ошибки для ссылок php #61219 и php #60658

+0

Yep. Это было полностью. Спасибо, Алекс! – Bill

+0

@alex: вам нужна ваша помощь;) http://stackoverflow.com/questions/11147549/anyone-successfully-serving-high-traffic-with-php-5-4-4-and-apc-3-1- 10 – hakre