php artisan ui vue --auth执行错误(laravel旧版本 升级到laravel 7)

最近新建了个laravel项目,想照着文档进行练习,看的是最新的laravel 7文档,正好看到了用户认证这一块,

执行了php artisan ui vue --auth命令,然后就报错了,看错误信息大概是版本太低,起码要laravel 7.0版本以上。

 

现在记录一下解决办法

一、修改一些配置文件

1.首先要将修改composer.json文件,直接将以下参数修改至相应版本

"laravel/framework": "^7.5",
"laravel/tinker": "^2.0"
"facade/ignition": "^2.0",
"nunomaduro/collision": "^4.1",
"phpunit/phpunit": "^8.5"

 修改后如下图所示

    "require": {
        "php": "^7.2",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "^7.5",
        "laravel/tinker": "^2.0"
    },
    "require-dev": {
        "facade/ignition": "^2.0",
        "fzaninotto/faker": "^1.9.1",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^4.1",
        "phpunit/phpunit": "^8.5"
    },

 

2.Symfony 5 相关更新

在App\Exceptions\Handler文件中,

①增加 use Throwable;

<?php

namespace App\Exceptions;

use Exception;
use Throwable;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;

② 将report和render中的Exception改成Throwable

 /**
     * Report or log an exception.
     *
     * @param  \Exception  $exception
     * @return void
     *
     * @throws \Exception
     */
    public function report(Throwable $exception)
    {
        parent::report($exception);
    }

    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Exception  $exception
     * @return \Symfony\Component\HttpFoundation\Response
     *
     * @throws \Exception
     */
    public function render($request, Throwable $exception)
    {
        return parent::render($request, $exception);
    }

 

3. 更新config/session.php文件,修改secure中的null值和修改same_site的值为lax

'secure' => env('SESSION_SECURE_COOKIE', null),

'same_site' => 'lax',

 

4.(可选操作)如果之前已安装laravel/ui

可直接升级^2.0版本

composer require laravel/ui "^2.0"

 

5.(可选操作)修改日期序列化的显示格式(如果日期格式显示不是原来的Y-m-d H:i:s格式的话需要修改)

vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php

修改serializeDate方法中的返回值

protected function serializeDate(DateTimeInterface $date)
{
    return $date->format($this->dateFormat ?: 'Y-m-d H:i:s');
}

这部分配置可根据官方文档来自主选择配置

文档地址:https://learnku.com/docs/laravel/7.x/upgrade/7445

 

二.更新依赖

composer update

 

三.更新laravel framework

composer require laravel/framework

然后会出现正在更新依赖,这段时间要等个十几分钟左右,有时候网络不好会更长

Using version ^7.5 for laravel/framework
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)

更新成功显示是下图这样的。

 

四.安装前端脚手架

composer require laravel/ui --dev

 同样要等它更新成功依赖,安装成功如下图

 

五.生成基本脚手架vue,登录、注册功能

php artisan ui vue --auth

成功后显示如下图

 

六.编译新的脚手架

npm install

执行后显示如下代码

 

七.运行dev

npm run dev

执行成功后显示如下,而且右下角会有一个laravel Mix build success的弹窗,显示laravel mix编译成功。

 

至此,完成了laravel旧版本到laravel7的升级,并生成了前端脚手架,登录、注册功能。

总结:要多看文档,特别是前言也很重要,每个版本的升级说明

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章