php+nginx如何在浏览器输出错误日志

发布网友 发布时间:2022-04-28 02:00

我来回答

2个回答

懂视网 时间:2022-04-28 06:21

php设置日志输出的方法:使用php的写入文件函数,把数据写入到事先定义好的文件中,代码为【file_put_contents(file,data,mode,context)】。

php设置日志输出的方法:

思想:在想要输出log日志的地方,使用php的写入文件函数,把数据写入到事先定义好的文件中。

php代码如下:

//输出日志
 public function outputLog() {
 logOutput(time());
 sleep(3);
 $arr = array("k1" => "v1", "k2" => "v2");
 logOutput($arr);
 $this->display();
 }
logOutput()函数:
/**
 * @param string,array $data 需要输出到日志中的数据
 * @return null 
 */
function logOutput($data) {
 //数据类型检测
 if (is_array($data)) {
 $data = json_encode($data);
 }
 $filename = "./log/".date("Y-m-d").".log";
 $str = date("Y-m-d H:i:s")." $data"."
";
 file_put_contents($filename, $str, FILE_APPEND|LOCK_EX);
 return null;
}

file_put_contents() 函数把一个字符串写入文件中。

与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

语法

file_put_contents(file,data,mode,context)

参数 描述

  • file 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。

  • data 可选。规定要写入文件的数据。可以是字符串、数组或数据流。

  • mode 可选。规定如何打开/写入文件。可能的值:

    FILE_USE_INCLUDE_PATH

    FILE_APPEND 追加数据而不是覆盖

    LOCK_EX 写入数据时,锁住文件,防止其他人对文件的改动

  • context 可选。规定文件句柄的环境。(不懂何用)

    context 是一套可以修改流的行为的选项。若使用 null,则忽略。

  • 意义:

  • 在可能出错的地方,进行调试时,输出错误信息

  • 输出变量,进行调试,可以避免平常的var_dump、dump函数打印一长串的数据,影响页面布局

  • 相关免费学习推荐:php编程(视频)

    热心网友 时间:2022-04-28 03:29

    要想让php-fpm显示错误日志,首先需要配置php-fpm。
    在php-fpm的配置文件中(一般位于php安装目录下的etc/php-fpm.conf)配置php错误日志的文件路径。

    1
    2
    3
    4
    5
    6

    ; Error log file
    ; If it's set to "syslog", log is sent to syslogd instead of being written
    ; in a local file.
    ; Note: the default prefix is /home/wangwei/php/var
    ; Default Value: log/php-fpm.log
    ;error_log = log/php-fpm.log

    如上是我的php-fpm.conf文件中配置错误日志的地方。把error_log = log/php-fpm.log之前的;去掉,然后修改为:

    1
    2
    3
    4
    5
    6

    ; Error log file
    ; If it's set to "syslog", log is sent to syslogd instead of being written
    ; in a local file.
    ; Note: the default prefix is /home/wangwei/php/var
    ; Default Value: log/php-fpm.log
    error_log = /home/work/log/php-fpm.log.wf

    修改之后,保存配置,然后重启php-fpm就可以啦。
    注意如果用相对路径的话,的路径的前缀是基于php安装目录的var目录的。

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com