![](/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.