Laravel集成Laravel File Manager后无法使用route:cache求助
Laravel集成Laravel File Manager后无法使用route:cache的解决方案
问题原因
Laravel的route:cache命令要求所有路由必须可序列化,而你当前的写法是在路由闭包中调用Lfm::routes()动态注册路由,闭包无法被序列化,导致缓存失败。
解决步骤
提取LFM路由到单独文件
创建routes/lfm.php文件,写入以下内容:\UniSharp\LaravelFilemanager\Lfm::routes();在RouteServiceProvider中加载路由并配置中间件
打开app/Providers/RouteServiceProvider.php,在map方法中添加自定义路由映射:public function map() { // 保留原有其他路由映射代码 $this->mapLfmRoutes(); } protected function mapLfmRoutes() { Route::prefix('laravel-filemanager') ->middleware(['web', 'auth', 'role:owner|admin']) ->group(base_path('routes/lfm.php')); }删除原路由中的闭包代码
移除routes/web.php中那段包含Lfm::routes()的Route::group闭包代码。重新生成路由缓存
执行终端命令:php artisan route:cache
内容的提问来源于stack exchange,提问作者Abdurrahman Naufal
相关产品推荐
相关产品推荐

