将 Laravel 项目从 5.5 升级到最新版本 8

Moh*_*hia 13 laravel

我想将我的 Laravel 项目从(5.5 到 8)升级,我将为此做些什么。我没有找到任何从 5.5 升级到 8 的文档,只需从 5.5 升级到 5.6 或从 7 升级到 8,也许必须逐步将项目从 5.5 升级到 5.6,从 5.6 升级到 5.7,然后...nutil 8 谢谢

composer.json(Laravel 5.5):

{
"name": "HomFolio",
"description": "Smart Property Investing",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
    "php": ">=7.0.0",
    "ext-json": "*",
    "barryvdh/laravel-dompdf": "^0.8.1",
    "barryvdh/laravel-translation-manager": "dev-master",
    "fideloper/proxy": "~3.3",
    "intervention/image": "^2.4",
    "joedixon/laravel-translation": "^1.1",
    "laravel/framework": "5.5.*",
    "laravel/tinker": "~1.0",
    "stripe/stripe-php": "^4.7",
    "zizaco/entrust": "dev-master"
},
"require-dev": {
    "filp/whoops": "~2.0",
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "~1.0",
    "phpunit/phpunit": "~6.0",
    "xethron/migrations-generator": "^2.0"
},
"autoload": {
    "classmap": [
        "database/seeds",
        "database/factories"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},
"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/"
    }
},
"extra": {
    "laravel": {
        "dont-discover": [
        ]
    }
},
"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
},
"config": {
    "preferred-install": "dist",
    "sort-packages": true,
    "optimize-autoloader": true
}
}
Run Code Online (Sandbox Code Playgroud)

composer.json(Laravel 8):

{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": [
    "framework",
    "laravel"
],
"license": "MIT",
"require": {
    "php": "^7.2.5",
    "fideloper/proxy": "^4.2",
    "fruitcake/laravel-cors": "^1.0",
    "guzzlehttp/guzzle": "^6.3",
    "laravel/framework": "^7.0",
    "laravel/tinker": "^2.0"
},
"require-dev": {
    "facade/ignition": "^2.0",
    "fzaninotto/faker": "^1.9.1",
    "mockery/mockery": "^1.3.1",
    "nunomaduro/collision": "^4.1",
    "phpunit/phpunit": "^8.5"
},
"config": {
    "optimize-autoloader": true,
    "preferred-install": "dist",
    "sort-packages": true
},
"extra": {
    "laravel": {
        "dont-discover": []
    }
},
"autoload": {
    "psr-4": {
        "App\\": "app/"
    },
    "classmap": [
        "database/seeds",
        "database/factories"
    ]
},
"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/"
    }
},
"minimum-stability": "dev",
"prefer-stable": true,
"scripts": {
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover --ansi"
    ],
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate --ansi"
    ]
}
}
Run Code Online (Sandbox Code Playgroud)

Kri*_*iya 14

您必须按照以下步骤操作:

  1. 复制您当前的composer.json文件。
  2. 现在转到此处https://github.com/laravel-shift/laravel-8.x/blob/master/composer.json并复制composer.json文件并替换为现有composer.json文件。
  3. 再次转到https://github.com/laravel-shift/laravel-8.x/blob/master/app/Exceptions/Handler.php并复制该Handler.php文件并替换app/exceptions/Handler.phpHandler.php现有文件。
  4. 运行命令composer update
  5. 检查您的oldyour copied composer.json文件,如果已添加软件包,那么您可以通过此命令添加软件包composer require <package name>
  6. 现在,再次运行composer update命令。

  • 我按照这些步骤操作,效果很好。 (2认同)

The*_*mie 11

看起来升级是连续的。截至今天,我有一个 Laravel 5.7 项目,我必须升级到 Laravel 8,这看起来像我需要采取的顺序。升级顺序

即使您选择强烈推荐的 Laravel Shift,您也必须为每次升级付费,如下图所示。

升级定价

如果你有预算,laravel shift 看起来是一种快速简单的升级方法


pkt*_*ndu 3

恐怕你将不得不迭代升级。

如果你有预算,你可以使用像 Laravel Shift 这样的服务来自动升级。