我有一个在 Laravel 5.3 中开发的旧项目,我想将该项目升级到 Laravel v9。升级步骤是什么?
到目前为止我在互联网上看到的以及据我所知:
Upgrade to each higher version step by step e.g 5.3 to 5.4 ... 6 to 7 to 8 to 9
我在我的 Mac 上运行 php 8。目前,我的代码未运行,因为我的
php 5.6
正在使用 Laravel 5.3
中已弃用的方法。
如何正确升级?
我的composer.json文件是
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.3.*",
"appzcoder/crud-generator": "^2.0",
"laravelcollective/html": "5.3.*",
"doctrine/dbal": "^2.5",
"maatwebsite/excel": "~2.1.0",
"predis/predis": "~1.0",
"guzzlehttp/guzzle": "~4.0",
"laravel/scout" : "^2.0",
"algolia/algoliasearch-client-php": "^1.17",
"fx3costa/laravelchartjs": "^2.2",
"gloudemans/notify": "^1.0",
"pda/pheanstalk": "~3.1"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.0",
"symfony/css-selector": "3.1.*",
"symfony/dom-crawler": "3.1.*"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist",
"allow-plugins": {
"kylekatarnls/update-helper": true
}
}
}
最新的依赖项可以在
https://github.com/laravel/laravel的
composer.json
中找到。
还有很多事情要做:
config/xxx.php
文件中的新键),但有时您需要更改某些函数定义,因为名称、参数或接口已更改。high
影响更改开始解决大部分问题。如果您对框架有足够的了解,您可能只需更新依赖项(跳过所有升级指南),分析异常跟踪并从那里开始工作。请注意,此存储库是 Laravel 项目的蓝图。实际的框架位于https://github.com/laravel/framework(它是可以在上面的
composer.json
中找到的依赖项)。
遗憾的是,没有明确的答案来完成这一切。如果您想慢慢地进行,但肯定可以遍历每个升级指南(并在其间进行测试),但这可能需要相当长的时间。
composer update
。成功升级后,我再次安装了这些软件包。通过这样做,作曲家安装了包本身的兼容版本。composer.json
中的版本,然后运行 composer update
。