我有一个旧的symfony项目,这里是composer.json:如何upgrad到symfony的主要版本与作曲家
{
"name": "symfony/framework-standard-edition",
"license": "MIT",
"type": "project",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": {"": "src/"}
},
"require": {
"php": ">=5.5.9",
"symfony/symfony": "*",
"symfony/console": ">=2.2.3",
"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",
"facebook/php-sdk-v4" : "4.0.*",
"symfony/finder": "^3.1",
"sonata-project/core-bundle": "^3.1",
"sonata-project/seo-bundle": "^2.0",
"sonata-project/admin-bundle": "^3.6"
},
"scripts": {
"post-install-cmd": [
"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"
],
"post-update-cmd": [
"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"
]
},
"config": {
"bin-dir": "bin"
},
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"incenteev-parameters": {
"file": "app/config/parameters.yml"
},
"branch-alias": {
"dev-master": "2.4-dev"
}
} }
首先我会使用:PHP composer.phar自我更新 然后我用下面的命令来升级: PHP composer.phar更新 这里是结果:
搜索一个软件包:symfony的
找到15包配套配件克的symfony
[0]的symfony/symfony的[1] rgies/symfony的[2]的PHP-TMDB/symfony的
[3] webforge/symfony的[4] lexpress/symfony1 [5]的symfony/symfony1 [6] sabaki-dev/symfony1 [7] behat/symfony2-extension [8] escapestudios/symfony2-coding-standard [9] smarkio/symfony1 [10] languara/symfony3 [11] m6web/symfony2-coding-standard [12] irongit/Symfony2的流响应[13] polishsymfonycommunity/Symfony2的-嘲笑者延伸[14] 的symfony /控制台输入包#添加,或完整的包名称,如果它不是 列出:0输入要求的版本约束(或保留空白为 使用最新版本):使用symfony/symfony版本^ 3.1搜索 对于一个包:./composer.json已更新正在加载作曲家 包含软件包的存储库信息更新依赖项(包括 require-dev)您的需求无法解析为可安装的 软件包集。
问题1个 - 结论:不安装的symfony/symfony的v3.1.6 - 结论:不安装的symfony/symfony的v3.1.5 - 结论:不安装的symfony/symfony的v3.1.4 - 结论:不要安装symfony/symfony v3.1.3 - sensio/generator-bundle的安装请求(锁定在v2.5.3,要求为〜2.3) - >可通过 sensio/generator-bundle [v2.5.3]满足。结束语:不要安装symfony/symfony v3.1.2 - 结论:不要安装symfony/symfony v3.1.1 - 不要安装symfony/finder v3.1.6 |不要安装symfony/symfony v3。 1.0 - 不要安装symfony/symfony v3.1.0 |删除symfony/finder v3.1.6 - 不要安装symfony/symfony v3.1.0 |不要安装symfony/finder v3.1.6 - symfony的安装请求/ symfony^3.1 - > symfony/symfony [v3.1.0,v3.1.1,v3.1.2,v3.1.3,v3.1.4,v3.1.5, v3.1.6]可满足。 - symfony/finder的安装请求(锁定在v3.1.6,要求为^ 3.1) - > symfony/f inder [v3.1.6], symfony/symfony [v3.1.6]可满足要求。
安装失败,将./composer.json恢复为原来的 内容。
启动一个新的symfony项目获得工作composer.json然后用作曲家需要添加额外的软件包,如Facebook的SDK。替换您的传统作曲家。与新的JSON,重新安装,然后开始工作你的方式,虽然你将面临的众多问题。除非您对Symfony有深入的了解,否则您可以更好地进行升级:2.2 => 2.3 => 2.7 => 2.8 => 3.1随着您的进展清除任何弃用通知。或者将您的旧版应用程序一点一点地复制到新应用程序中。 – Cerad
谢谢,但这些对我来说很难,因为我是新手,但我想了解更多,有没有办法解决我与他们面临的所有错误? –
我想你可以雇人。否则,你基本上不得不学习如何用Symfony框架进行开发。 – Cerad