簡體   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