2015-06-11 6 views
4

У меня возникла проблема, так как у меня есть обновление моих поставщиков на установке Symfony2.Сбой Symfony2 после обновления композитора

Это содержание моего composer.json:

{ 
"name": "symfony/framework-standard-edition", 
"license": "MIT", 
"type": "project", 
"description": "The \"Symfony Standard Edition\" distribution", 
"autoload": { 
    "psr-0": { "": "src/" } 
}, 
"require": { 
    "php": ">=5.4", 
    "symfony/symfony": ">=2.4", 
    "doctrine/orm": "~2.2,>=2.2.3", 
    "doctrine/doctrine-bundle": ">=1.2", 
    "twig/extensions": ">=1.0", 
    "symfony/assetic-bundle": ">=2.3", 
    "symfony/swiftmailer-bundle": ">=2.3", 
    "symfony/monolog-bundle": ">=2.4", 
    "sensio/distribution-bundle": ">=2.3", 
    "sensio/framework-extra-bundle": ">=3.0", 
    "sensio/generator-bundle": ">=2.3", 
    "incenteev/composer-parameter-handler": "~2.0", 
    "white-october/pagerfanta-bundle": "dev-master", 
    "friendsofsymfony/rest-bundle": "1.3.*", 
    "friendsofsymfony/comment-bundle": "2.0.*@dev", 
    "friendsofsymfony/message-bundle": "1.2.*@dev", 
    "friendsofsymfony/user-bundle": "[email protected]", 
    "nelmio/api-doc-bundle": "@stable", 
    "ornicar/akismet-bundle": "dev-master", 
    "friendsofsymfony/jsrouting-bundle": "2.0.*@dev", 
    "appventus/alertify-bundle": "dev-master", 
    "friendsofsymfony/oauth-server-bundle": "dev-master", 
    "willdurand/propel-typehintable-behavior": "*", 
    "hwi/oauth-bundle": "0.4.*@dev", 
    "nomaya/social-bundle": "dev-master" 

} 
} 

После php composer.phar update, когда я пытаюсь /app.php, у меня есть следующие ошибки:

Deprecated: The Symfony\Component\Security\Core\SecurityContextInterface interface is deprecated since version 2.6 and will be removed in 3.0. in /var/www/html/xxx/app/cache/prod/classes.php on line 3035 
Deprecated: The Symfony\Component\Security\Core\SecurityContext class is deprecated since version 2.6 and will be removed in 3.0. Use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage or Symfony\Component\Security\Core\Authorization\AuthorizationChecker instead. in /var/www/html/xxx/app/cache/prod/classes.php on line 3047 
Fatal error: Uncaught exception 'Symfony\Component\Debug\Exception\ContextErrorException' with message 'Catchable 
Fatal Error: Argument 1 passed to Symfony\Component\Routing\Router::Symfony\Component\Routing\{closure}() must be an instance of Symfony\Component\Config\ConfigCacheInterface, instance of Symfony\Component\Config\ConfigCache given' in /var/www/html/xxx/app/cache/prod/classes.php:1302 

Stack trace: 
#0 /var/www/html/xxx/app/cache/prod/classes.php(1302): Symfony\Component\Debug\ErrorHandler->handleError(4096, 'Argument 1 pass...', '/var/www/html/p...', 1302, Array) 
#1 [internal function]: Symfony\Component\Routing\Router->Symfony\Component\Routing\{closure}(Object(Symfony\Component\Config\ConfigCache)) 
#2 /var/www/html/xxx/vendor/symfony/symfony/src/Symfony/Component/Config/ConfigCacheFactory.php(46): call_user_func(Object(Closure), Object(Symfony\Component\Config\ConfigCache)) 
#3 /var/www/html/xxx/app/cache/prod/classes.php(1313): Symfony\Component\Config\ConfigCacheFactory->cache('/var/ww in /var/www/html/xxx/app/cache/prod/classes.php on line 5261 

и когда я иду/app_dev.php у меня есть это одно:

Whoops, looks like something went wrong. 

1/1 
FatalErrorException in ConfigDataCollector.php line 276: 
Error: Undefined class constant 'END_OF_MAINTENANCE' 

Мой PHP версии 5.6.9 на Apache/2.2.15.

У кого-нибудь есть ключ?


Благодаря Кнут

+0

Общие рекомендации. Вы должны начать использовать определенные версии для каждого пакета, где это возможно. http://stackoverflow.com/questions/30728076/behat-fails-runing-after-updating-dependencies/30729506#30729506 – BentCoder

ответ

0

попробовать:

rm /var/www/html/xxx/app/cache/prod/* -rf 
1

Проблема была несовместимость между моими различными продавцами, я обновил свой composer.json на:

{ 
"name": "symfony/framework-standard-edition", 
"license": "MIT", 
"type": "project", 
"description": "The \"Symfony Standard Edition\" distribution", 
"autoload": { 
    "psr-0": { "": "src/" } 
}, 
"require": { 
    "php": ">=5.4", 
    "symfony/symfony": ">=2.4", 
    "doctrine/orm": "~2.2,>=2.2.3", 
    "doctrine/doctrine-bundle": ">=1.2", 
    "twig/extensions": ">=1.0", 
    "symfony/assetic-bundle": ">=2.3", 
    "symfony/swiftmailer-bundle": ">=2.3", 
    "symfony/monolog-bundle": ">=2.4", 
    "sensio/distribution-bundle": ">=2.3", 
    "sensio/framework-extra-bundle": ">=3.0", 
    "sensio/generator-bundle": ">=2.3", 
    "incenteev/composer-parameter-handler": "~2.0", 
    "white-october/pagerfanta-bundle": "dev-master", 
    "friendsofsymfony/rest-bundle": "1.3.*", 
    "friendsofsymfony/comment-bundle": "2.0.*@dev", 
    "friendsofsymfony/message-bundle": "1.2.*@dev", 
    "friendsofsymfony/user-bundle": "[email protected]", 
    "nelmio/api-doc-bundle": "@stable", 
    "ornicar/akismet-bundle": "dev-master", 
    "friendsofsymfony/jsrouting-bundle": "2.0.*@dev", 
    "appventus/alertify-bundle": "dev-master", 
    "friendsofsymfony/oauth-server-bundle": "dev-master", 
    "willdurand/propel-typehintable-behavior": "*", 
    "hwi/oauth-bundle": "0.4.*@dev", 
    "nomaya/social-bundle": "dev-master" 

} 
} 

и все работы ...

Спасибо.

+1

Композитор.json в этом ответе идентичен тому, который был опубликован. Можете ли вы указать на изменение? Спасибо – RHLK

2

Вы можете попробовать это:

php composer.phar self-update 

перед тем

php composer.phar update 
9

Я решил эту проблему путем регенерации bootstrap.php.cache (запустив композитор обновление/композитор установки или непосредственно через скрипт)

+4

Это решило ту же проблему для меня. Я использовал следующее, чтобы воссоздать bootstrap.php.cache: php./vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Resources/bin/build_bootstrap.php –

+0

Спасибо, это сработало –

0

Для чего это стоит, я столкнулся с этой проблемой после обновления Symfony (от 2,8 до 2,6), который работал на бродячего гостя.

Вопрос был действительно с файлом app/bootstrap.php.cache. В нашем случае это не было исключено из нашего rsync, что означало, что хост не обновил также composer, проблема повторится. Она была решена за счет исключения из bootstrap.php.cachersync в нашем Vagrantfile:

config.vm.synced_folder "host/path", "guest/path", type: "rsync", rsync__exclude: [ 'bootstrap.php.cache'],

Этот файл генерируется composer, поэтому запуск sudo composer install или sudo composer update на гостя будет регенерировать его.

Надеюсь, это сэкономит кому-то еще некоторое время.