PHP调试日志方法

Posted hello word

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP调试日志方法相关的知识,希望对你有一定的参考价值。

1、需求

  当我们的项目已经上线,但是出现了bug,这时候调试变得极为重要。但是有时候需要打印变量才能找到bug. 这时候就需要我们用日志来记录变量。我已经在网上也找了很多的php代码,但是总是觉得不太理想。希望下面的能解决大家的问题。

2、 代码

/**
 * 写日志,用于测试,可以开启关闭
 * @param data mixed
 */
function _logs($data, $file = ‘logs_‘){
    $year   = date("Y");
    $month  = date("m");
    $dir    = ‘./test_logs/‘ . $year . ‘/‘ . $month . ‘/‘;
    if(!is_dir($dir)) {
        mkdir($dir,0755,true);
    }
    $file = $dir . $file . date(‘Y-m-d‘).‘.txt‘;
    @file_put_contents($file, ‘----------------‘ . date(‘H:i:s‘) . ‘--------------------‘.PHP_EOL.var_export($data, true).PHP_EOL, FILE_APPEND);
}

注释:

file_put_contents这个方法不用了,PHP里面很常用。
PHP_EOL 是换行符,因为每个系统里面的换行符都不一样。unix系列用 \nwindows系列用 \r\n mac用 \r
var_export 这个方法用的比较少但是这里很有用。跟var_dump方法一样。只是输出的格式是用php代码的格式。 输出或返回一个变量的字符串表示。可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

以上是关于PHP调试日志方法的主要内容,如果未能解决你的问题,请参考以下文章

运行/调试你的PHP代码

调试bug的几种方法

常用python日期日志获取内容循环的代码片段

nginx 隐藏index.php 并开启rewrite日志调试

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情