1. 什么是thinkphp trace
Thinkphp是一款使用非常广泛的PHP框架,在开发过程中,系统运行出现问题时我们需要进行调试。这个时候,我们可以通过调试工具来查看程序的执行路径,并且了解到程序的执行流程信息。Thinkphp中提供了一个调试工具,那就是Thinkphp Trace。Thinkphp Trace在开发过程中非常的常用。
2. thinkphp trace 的作用
Thinkphp Trace的作用是通过把所有的调试信息输出到页面中,方便我们查看系统中的运行情况,如:控制器类、方法名称、参数信息、数据库操作、模板文件渲染、缓存读、写操作等等,这些信息对于程序员来说都是非常有用的。放在生产环境下是没有必要的,因为会泄露一些安全信息。所以,在生产环境下我们需要关闭Thinkphp Trace模式。
3. thinkphp trace 的关闭方式
3.1 关闭全局 trace
在thinkphp配置文件config.php中可以找到配置项:
// 应用调试模式
'APP_DEBUG' => true,
// 是否开启路由快速缓存 如果开启 则每次访问都会生成route.php文件
'URL_ROUTE_CACH E' => true,
// 是否关闭全局的页面Trace调试
'APP_TRACE' => false,
可以看到,我们只需要将APP_TRACE设置为false即可关闭。
3.2 关闭单条 trace
我们可以在控制器中通过代码来关闭单条trace。代码方式如下:
// 全局禁止Trace调试模式
Config::set('app_trace', false);
// 单独针对某个方法禁止Trace调试模式
trace('[order api]',$this->request->param());
Config::set(['app_trace'=>true],'','order/index');
通过Config::set()设置是全局的,第一个参数是设置的值,第二个参数是设置名称,第三个参数则是指定控制器和方法。
4. 总结
Thinkphp Trace是一个非常实用的调试工具,可以帮助我们快速定位问题,但是,在生产环境下,我们需要关闭Thinkphp Trace模式,这样才能保护应用的安全。