繁体   English   中英

将Symfony 2.8升级到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 。您需要:

  • 将应用程序/控制台移动到bin / cosole
  • 更改composer.json结构,使其也包括:

{ "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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM