今天安装开发环境,遇到一个debugbar Illuminate\Contracts\Filesystem\FileNotFoundException 的问题,在Google上搜了好久没找到原因,没办法自己追踪Debugbar源代码看看
看看报错日志
1 | { |
我们追踪到 /project/vendor/maximebf/debugbar/src/DebugBar/OpenHandler.php 106行看看啥情况
1 | protected function get($request) |
看样子 $request[‘id’] 有问题,然后取不到文件,检查到 是handle 方法调用的get
1 | public function handle($request = null, $echo = true, $sendHeader = true) |
这里的$request直接取得$_REQUEST,在检查一下COOKIE,GET,POST参数
1 | Cookie: last_session=xxx; XSRF-TOKEN=xxx; id=eyJpdiI6IkY0NHd1Q3Yya0FSMmFnbGp6WVpJUkE9PSIsInZhbHVlIjoiYk |
发现是Cookie里的id覆盖掉了,猜测可能是版本升级的bug之类的吧,没时间去检查官方commit记录,自己临时动手改一下(不推荐直接改底层源码),将$_REQUEST
改成$_GET
1 | $request = $_GET; |
在Chrome检查请求已正常
