![](/img/trans.png)
[英]Backward compatibility breaks in forms upgrading from symfony2.8 to 3.0
[英]Error upgrading symfony 2.8 to 3.0
我正在嘗試通過更改composer.json中的"symfony/symfony": "3.0.*"
將symfony 2.8升級到3.0
並運行composer update symfony/symfony --with-dependencies
但是由於以下錯誤而失敗:
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache
PHP Fatal error: Class 'Symfony\Component\Console\Input\ArgvInput' not found in /var/www/html/mahtab_v3/app/console on line 17
PHP Stack trace:
PHP 1. {main}() /var/www/html/mahtab_v3/app/console:0
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-update-cmd event terminated with an exception
[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command:
PHP Fatal error: Class 'Symfony\Component\Console\Input\ArgvInput' not found in /var/www/html/mahtab_v3/app/console on line 17
PHP Stack trace:
PHP 1. {main}() /var/www/html/mahtab_v3/app/console:0
.
問題是什么?
此問題來自以下事實:postInstall命令運行的是symfony 3中不存在的app/console
。您需要:
{ "name": "symfony/framework-standard-edition", "license": "proprietary", "type": "project", "autoload": { "psr-4": { "": "src/" }, "classmap": [ "app/AppKernel.php", "app/AppCache.php" ] }, "autoload-dev": { "psr-4": { "Tests\\": "tests/" } }, "require": { "php": ">=5.3.9", "symfony/symfony": "3.0.*", "doctrine/orm": "^2.5", "doctrine/doctrine-bundle": "^1.6", "doctrine/doctrine-cache-bundle": "^1.2", "symfony/assetic-bundle" : "^2.8", "symfony/swiftmailer-bundle": "^2.3", "symfony/monolog-bundle": "^2.8", "symfony/polyfill-apcu": "^1.0", "sensio/distribution-bundle": "^5.0", "sensio/framework-extra-bundle": "^3.0.2", "incenteev/composer-parameter-handler": "^2.0", ... }, "require-dev": { "sensio/generator-bundle": "^3.0", "symfony/phpunit-bridge": "^3.0" }, "scripts": { "symfony-scripts": [ "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile", "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::prepareDeploymentTarget" ], "post-install-cmd": [ "@symfony-scripts" ], "post-update-cmd": [ "@symfony-scripts" ] }, "extra": { "symfony-app-dir": "app", "symfony-bin-dir": "bin", "symfony-var-dir": "var", "symfony-web-dir": "web", "symfony-tests-dir": "tests", "symfony-assets-install": "relative", "incenteev-parameters": { "file": "app/config/parameters.yml" } } }
您可以嘗試僅運行bin/console cache:clear
之后bin/console cache:clear
。
可能仍然需要修復一些問題(更改AppKernel類以在var中添加日志和緩存目錄,從app /中刪除這些目錄並創建var目錄,更改app.php和app_dev.php中的代碼,進行修復所有未包裝在“””中的服務ID,例如"@service_id"
以及您可能擁有的其他過時配置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.