laravel清理缓存(config:clear)后导致程序崩溃

laravel清理缓存(config:clear)后导致程序崩溃

前情提要:导致这个错误的可能性有很多,如此不人性化的提示是因为在config:clear后laravel重载出错,然后尝试从log输出错误,但是错误先于创建log文件被产生,导致程序崩溃了且没有log文件可以输出错误,所以才输出这个报错。还有许多诸如env文件配置错误可能会导致这个提示。
报错:

PHP Fatal error:  Uncaught ReflectionException: Class log does not exist in /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php:734
Stack trace:
#0 /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php(734): ReflectionClass->__construct('log')
#1 /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php(629): Illuminate\Container\Container->build('log', Array)
#2 /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\Container\Container->make('log', Array)
#3 /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php(849): Illuminate\Foundation\Application->make('log')
#4 /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php(804): Illuminate\Container\Container->resolveClass(Object(ReflectionParameter))
#5 /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php(774): Illuminate\Container\Co in /opt/project/xxx/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 734

答案: 删除bootstrap文件下的config.php文件,再全局查找确定没有使用到Closure的命令,有就自己想办法去掉。并且再也不用如下命令: bug artisan config : crash
解答:出现这个问题的可能有很多,可能会有很多小伙伴跟我一下做了以下步骤,前提是你真的有我这么老的laravel版本,这个没有序列化闭包已经在新版本被解决了
↓↓
php aritsan route:cache
php artisan cache:clear
php artisan config:clear
清缓存三件套,导致程序崩溃的是config:clear,原因是laravel5.1+没有将闭包序列化,如果你的某个导入包使用了Closure命令,恭喜你会中招(ctrl+shift+f 找这个命令,看看哪个混蛋是罪魁祸首,我那时候先一步删除vender去reinstall了,知道答案再找就找不着了)。我真的是想一锤子锤死开发组。这个问题既没有准确提示,又发生的突然,谁能想到老子清缓存还能把程序清炸了。真的是谷歌 stackoverflow github翻烂了才找到这个答案。一下午都在座位上怀疑人生……

找到答案的那个帖子

https://github.com/laravel/framework/issues/9625

所以说,感觉英语才是决定程序员上限的地方呢。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值