2013-06-03 89 views
0

從今天上午開始,我無法在Symfony中更新我的供應商軟件包。我收到以下錯誤:Symfony2.2無法運行作曲者更新

PHP Fatal error: Class 'Composer\Script\PackageEvent' not found in phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/src/Composer/Script/EventDispatcher.php on line 78 
PHP Stack trace: 
PHP 1. {main}() /var/bean/deploy/qa/2013-06-03/api/composer.phar:0 
PHP 2. require() /var/bean/deploy/qa/2013-06-03/api/composer.phar:15 
PHP 3. Composer\Console\Application->run() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/bin/composer:43 
PHP 4. Symfony\Component\Console\Application->run() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/src/Composer/Console/Application.php:83 
PHP 5. Composer\Console\Application->doRun() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:119 
PHP 6. Symfony\Component\Console\Application->doRun() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/src/Composer/Console/Application.php:117 
PHP 7. Symfony\Component\Console\Application->doRunCommand() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:212 
PHP 8. Symfony\Component\Console\Command\Command->run() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:882 
PHP 9. Composer\Command\UpdateCommand->execute() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:244 
PHP 10. Composer\Installer->run() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/src/Composer/Command/UpdateCommand.php:103 
PHP 11. Composer\Installer->doInstall() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/src/Composer/Installer.php:208 
PHP 12. Composer\Script\EventDispatcher->dispatchPackageEvent() phar:///var/bean/deploy/qa/2013-06-03/api/composer.phar/src/Composer/Installer.php:476 

任何人都知道可能導致這種情況的原因是什麼?如果我將symfony切換到2.3的最新版本,它會得到解決,但我現在不想這麼做。

回答

0

問題是APC操作碼緩存。我手動運行下載使用命令行作曲:

php -r "eval('?>'.file_get_contents(' https://getcomposer.org/installer '));"

,並運行該命令時,它通知我說:

The apc.enable_cli setting is incorrect. 
Add the following to the end of your `php.ini`: 
    apc.enable_cli = Off 

所以我把它關掉,它是所有偉大的工作。