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的升級,並生成了前端腳手架,登錄、註冊功能。

總結:要多看文檔,特別是前言也很重要,每個版本的升級說明

 

 

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