laravel 从PHP 7.4升级到PHP 8.1

ht4b089n  于 2023-03-04  发布在  PHP
关注(0)|答案(2)|浏览(485)

我有一个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。

oxosxuxt

oxosxuxt1#

Composer update是升级项目中包含Laravel的依赖项的第一步。
此外,您需要检查代码语法和函数是否匹配模式,并且可以在PHP 8中运行。因为在以前的PHP版本中,与PHP 8版本相比有许多变化。
你可以检查php 8与php 7或旧版本的php相比的变化
所以在把你的Laravel从8升级到9或者10的时候要小心。因为如果你的代码在php 8版本中不工作的话会导致错误。

c0vxltue

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

相关问题