我有一个Laravel 8.x项目,已经在PHP 7.4上运行了几年了,现在我想开始计划将Laravel升级到v9.x和v10.x。在升级Laravel之前,我想我会暂时将服务器升级到PHP 8.1,因为我不着急。
不包括使用与PHP 7.4相同的配置配置PHP 8.1所涉及的服务器工作,就我而言,在Laravel方面,这只是运行composer update
的问题,对吗?
下面是项目composer.json文件的一个片段以供参考:
"require": {
"php": "^7.3|^8.0",
"backpack/crud": "^5.0",
"calebporzio/parental": "^0.11.0",
"doctrine/dbal": "^2.8",
"fideloper/proxy": "^4.4",
"fruitcake/laravel-cors": "^2.0",
"google/apiclient": "^2.12",
"intervention/image": "^2.5",
"laravel/cashier": "^13.0",
"laravel/framework": "^8.0",
"laravel/passport": "^10.0",
"laravel/tinker": "^2.5",
"predis/predis": "^1.1",
"rollbar/rollbar-laravel": "^7.0",
"spatie/laravel-http-logger": "^1.7",
"mixpanel/mixpanel-php" : "2.*"
},
"require-dev": {
"backpack/generators": "^3.0",
"facade/ignition": "^2.5",
"fzaninotto/faker": "^1.9",
"mockery/mockery": "^1.4",
"nunomaduro/collision": "^5.0",
"phpunit/phpunit": "^9.3"
}
P/S:我还打算用php-redis替换predis,用fakerphp/faker替换fzaninotto/faker。
2条答案
按热度按时间oxosxuxt1#
Composer update
是升级项目中包含Laravel的依赖项的第一步。此外,您需要检查代码语法和函数是否匹配模式,并且可以在PHP 8中运行。因为在以前的PHP版本中,与PHP 8版本相比有许多变化。
你可以检查php 8与php 7或旧版本的php相比的变化
所以在把你的Laravel从8升级到9或者10的时候要小心。因为如果你的代码在php 8版本中不工作的话会导致错误。
c0vxltue2#
是的,更新composer.json中的值会让你到达你需要去的地方。但是,你还需要做一些其他的事情-例如-“fruitcake/laravel-cors”:“^2.0”-可能值得阅读以下内容,因为这将需要删除和编辑https://github.com/fruitcake/laravel-cors的位置。在github自述文件的顶部有更多关于这方面的信息。
PHP版本也需要在composer.json中进行编辑
Laravel文档中有一些关于每次更新需要做什么的有用信息-如果你要升级到laravel 10,请按照8到9,然后9到10的步骤进行,以使升级更容易。-https://laravel.com/docs/9.x/upgrade