1. 程式人生 > >【laravel5.6】 laravel 執行 php artisan route:cache 報錯 Unable to prepare route [/] for serialization. Uses Closure.

【laravel5.6】 laravel 執行 php artisan route:cache 報錯 Unable to prepare route [/] for serialization. Uses Closure.

 laravel 在部署的時候。需要優化路由載入,執行命令

php artisan route:cache

報錯了。如下

 

這個異常的錯誤資訊,提示的已經非常明確了:大概意思就是說在閉包裡邊,是不能夠進行路由快取的。那麼現在就有兩種辦法:

  1. 想要繼續使用閉包,那就只能放棄路由快取(至少目前我沒有其他辦法,如果你有,記得告訴我)。
  2. 那就是在路由裡邊,也就是route.php中,不要使用閉包的方式,統統改為控制器。

具體例子:
 建立laravel 專案時候。web.php 路由檔案,裡邊有個預設的 welcome歡迎頁

Route::get
('/', function() { return veiw('welcome'); });

修改為

Route::get('/', '[email protected]');

,然後在 新建一個home控制器

<?php

namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;

class HomeController extends BaseController
{
    
    public function index(){
        
return view('welcome'); } }

此時在執行 優化路由載入命令。成功