【laravel5.6】 laravel 執行 php artisan route:cache 報錯 Unable to prepare route [/] for serialization. Uses Closure.
阿新 • • 發佈:2018-12-05
laravel 在部署的時候。需要優化路由載入,執行命令
php artisan route:cache
報錯了。如下
這個異常的錯誤資訊,提示的已經非常明確了:大概意思就是說在閉包裡邊,是不能夠進行路由快取的。那麼現在就有兩種辦法:
- 想要繼續使用閉包,那就只能放棄路由快取(至少目前我沒有其他辦法,如果你有,記得告訴我)。
- 那就是在路由裡邊,也就是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'); } }
此時在執行 優化路由載入命令。成功