解决thinkCMF6总是显示404 Not Found而不是显示报错信息的方法

要解决的问题如下图:

404 Not Found
解决后的效果,举例如下:



解决办法:
假设根目录是D:\project\thinkcmf6。
修改文件
D:\project\thinkcmf6\vendor\topthink\framework\src\think\exception\Handle.php

原因解析:上图第211行
if ($exception instanceof HttpException) { $statusCode = $exception->getStatusCode();//值为404 $response->header($exception->getHeaders());}
导致第218行的$statusCode的值要么是404要么是500。
修改代码的核心要点:强制响应码为默认值200。
要追加的的代码可以是:
//不太推荐添加这一行if开头的代码,if (true === $this->app->isDebug()){ //重点就是这一行代码,强制响应码为默认值200 $statusCode = $response->getCode();}
如果.env文件中的APP_DEBUG=false,则仍然显示404 Not Found。
如果想要显示得更加友好一些,如下图

要追加的的代码可以是:(推荐)
//重点就是这一行代码,强制响应码为默认值200$statusCode = $response->getCode();
或者是:(推荐)
return $response;
好了,去试试吧,为了愉快地进行开发业务。