Laravel 执行 php artisan route:cache 时报错 LogicException

本文介绍了解决Laravel框架中因使用闭包导致无法进行路由缓存的问题。提供了两种解决方案:一是放弃使用闭包;二是将闭包转换为控制器路由或资源路由,并给出了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

执行:php artisan route:cache
报错文本

D:\laragon\www\blog (master)
$ php artisan route:cache
Route cache cleared!


  [LogicException]
  Unable to prepare route [api/user] for serialization. Uses Closure.

这个异常的错误信息,提示的已经非常明确了:大概意思就是说在闭包里边,是不能够进行路由缓存的。那么现在就有两种办法:
① 想要继续使用闭包,那就只能放弃路由缓存。
② 那就是在路由里边,也就是routes/api.php、routes/web.php中,不要使用闭包的方式,统统改为控制器路由资源路由

③找到routes/api.php,暂时注释以下代码:

Route::middleware('auth:api')->get('/user', function (Request $request) {
    return $request->user();
});

④再次执行php artisan route:cache

D:\laragon\www\blog (master)
$ php artisan route:cache
Route cache cleared!
Routes cached successfully!

这里写图片描述

另,清除Laravel路由缓存命令:php artisan route:clear

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值