我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何从 Laravel 9.x 升级到 Laravel 10.x?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何从 Laravel 9.x 升级到 Laravel 10.x?

Laravel 10 已于 2 月 14 日发布。Laravel 10 要求最低 PHP 版本为 8.1。在 Laravel 发行说明 中阅读有关该发行版的更多信息。

我们的 Basic Laravel Admin Panel 目前是 Laravel 9.x 版本,现在是时候升级到 Laravel 10 了。

Laravel 从 9.x 升级到 10.x

Laravel 升级涉及以下步骤。

  • 更新 PHP 版本

  • 更新 Composer 版本

  • 更新 Composer 依赖项

  • 更新 Composer 最低稳定性

  • 更新 Docker Composer

所有的升级步骤都可以在 Laravel 官方文档 中找到。

更新 PHP 版本

Laravel 10 需要 PHP 8.1.0 或更高版本。如果你使用 8.1 以下的 PHP 版本。请先更新你的 PHP 版本。

现在我们将检查 Admin Panel PHP 版本。PHP 版本将会显示在 Admin Panel 或 Laravel 默认的首页。

你也可以使用以下命令在命令行中检查 PHP 版本和 Laravel 版本。

PHP 版本

./vendor/bin/sail php -v

// or

./vendor/bin/sail php --version

//If you not using sail
php -v

Laravel 版本

./vendor/bin/sail artisan -v

//or

./vendor/bin/sail artisan --version

//If you not using sail
php artisan --version

除此之外, 你还可以在 ./vendor/laravel/framework/class="lazy" data-src/Illuminate/Foundation/Application.php 文件中检查 Laravel 版本。

本文中 Laravel 管理面板使用的是 Laravel sail(Docker 开发环境)。所以我们需要更新 docker-compose.yml 文件中的 PHP。 我们将在最后更新它。

Composer 版本更新

Laravel 10 需要 Composer 2.2.0 或更高版本。 如果你使用的是较低版本,请卸载并安装新版本。

可以使用以下命令检查你的 composer 版本

composer -v

composer -vvv about

如果你使用的是 sail,试试下面这种方式

./vendor/bin/sail composer -v

./vendor/bin/sail composer -vvv about

现在已经是 2.2.0 以上的 composer 版本。

更新 Composer 依赖项

对于 Laravel 10,我们需要在应用程序的 composer.json 文件中更新以下依赖项

  • laravel/framework to ^10.0

  • spatie/laravel-ignition to ^2.0

  • php to ^8.1

管理面板更新了以下依赖项

diff --git a/composer.json b/composer.json
index 381f15d..b0be0bc 100644
--- a/composer.json
+++ b/composer.json
@@ -5,12 +5,12 @@
     "keywords": ["framework", "laravel", "boilerplate", "admin panel"],
     "license": "MIT",
     "require": {
-        "php": "^8.0.2",
+        "php": "^8.1",
         "balajidharma/laravel-admin-core": "^1.0",
         "guzzlehttp/guzzle": "^7.2",
-        "laravel/framework": "^9.19",
-        "laravel/sanctum": "^2.14.1",
-        "laravel/tinker": "^2.7",
+        "laravel/framework": "^10.0",
+        "laravel/sanctum": "^3.2",
+        "laravel/tinker": "^2.8",
         "spatie/laravel-permission": "^5.5"
     },
     "require-dev": {
@@ -19,11 +19,11 @@
         "laravel/breeze": "^1.7",
         "laravel/dusk": "^7.1",
         "laravel/pint": "^1.0",
-        "laravel/sail": "^1.0.1",
+        "laravel/sail": "^1.18",
         "mockery/mockery": "^1.4.4",
-        "nunomaduro/collision": "^6.1",
-        "phpunit/phpunit": "^9.5.10",
-        "spatie/laravel-ignition": "^1.0"
+        "nunomaduro/collision": "^7.0",
+        "phpunit/phpunit": "^10.0",
+        "spatie/laravel-ignition": "^2.0"
     },
     "autoload": {
         "psr-4": {

修改 composer Minimum Stability

还有一个 composer 文件的更改。minimum-stability 选项需要被修改为 stable

"minimum-stability": "stable",

在修改完后运行 composer update

./vendor/bin/sail composer update

现在打开应用程序主页。

如果你需要更新的欢迎页面,请复制 raw.githubusercontent.com/laravel/... 并更新 resources/views/welcome.blade.php 文件

更新 Docker Composer

我们将使用 Laravel 上的最新更改更新 docker-compose.yml 文件。

最新的 Laravel sail 使用的是 PHP 8.2 版本。以下是最终版本的 docker-compose.yml 文件。

# For more information: https://learnku.com/docs/laravel/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.2
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.2/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
            - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
            - redis
            - meilisearch
            - mailpit
            - selenium
    mysql:
        image: 'mysql/mysql-server:8.0'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ROOT_HOST: "%"
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 1
        volumes:
            - 'sail-mysql:/var/lib/mysql'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - mysqladmin
                - ping
                - '-p${DB_PASSWORD}'
            retries: 3
            timeout: 5s
    redis:
        image: 'redis:alpine'
        ports:
            - '${FORWARD_REDIS_PORT:-6379}:6379'
        volumes:
            - 'sail-redis:/data'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - redis-cli
                - ping
            retries: 3
            timeout: 5s
    meilisearch:
        image: 'getmeili/meilisearch:latest'
        ports:
            - '${FORWARD_MEILISEARCH_PORT:-7700}:7700'
        volumes:
            - 'sail-meilisearch:/meili_data'
        networks:
            - sail
        healthcheck:
            test:
                - CMD
                - wget
                - '--no-verbose'
                - '--spider'
                - 'http://localhost:7700/health'
            retries: 3
            timeout: 5s
    mailpit:
        image: 'axllent/mailpit:latest'
        ports:
            - '${FORWARD_MAILPIT_PORT:-1025}:1025'
            - '${FORWARD_MAILPIT_DASHBOARD_PORT:-8025}:8025'
        networks:
            - sail
    selenium:
        image: 'selenium/standalone-chrome'
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        volumes:
            - '/dev/shm:/dev/shm'
        networks:
            - sail
    phpmyadmin:
        image: phpmyadmin/phpmyadmin
        links:
            - mysql:mysql
        ports:
            - 8080:80
        environment:
            MYSQL_USERNAME: "${DB_USERNAME}"
            MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
            PMA_HOST: mysql
        networks:
            - sail
networks:
    sail:
        driver: bridge
volumes:
    sail-mysql:
        driver: local
    sail-redis:
        driver: local
    sail-meilisearch:
        driver: local

我们已成功将管理面板升级到 Laravel 10.x

Laravel 管理面板在 github.com/balajidharma/basic-lara.... 安装并分享你的反馈。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何从 Laravel 9.x 升级到 Laravel 10.x?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何从 Laravel 9.x 升级到 Laravel 10.x?

Laravel 10 已于 2 月 14 日发布。Laravel 10 要求最低 PHP 版本为 8.1。在 Laravel 发行说明 中阅读有关该发行版的更多信息。我
2023-03-06

如何从Windows 10升级到Windows 11

要升级到Windows 11,您需要确保您的计算机符合以下最低要求:1. 64位处理器,至少为1 GHz的时钟速度和至少2个核心。2. 4 GB的系统内存。3. 64 GB的存储空间。4. DirectX 12兼容的图形卡或集成的GPU。5
2023-09-01

如何编写Shell脚本实现CentOS 6.x系统升级Python到2.7版本

这篇文章主要讲解了“如何编写Shell脚本实现CentOS 6.x系统升级Python到2.7版本”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何编写Shell脚本实现CentOS 6.x
2023-06-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录