background image

php 中 error_log 函数使用注意的地方

PHP 有一个很强大的日志处理函数:error_log,我们可以用它来记录我们程序中出现的错误,
比如 SQL

 

错误等。通过 PHP 手册,我们可以知道,该函数可以向服务器、文件或远程目标

发送一个错误日志。
  它接受四个参数:
  error 必需。要记录的错误消息。
  type 可选。规定错误记录的类型。
  可能的记录类型:
  0 – 

 

默认。根据在 php.ini 

 

文件中的 error_log 配置,错误被发送到服务器日志系统或文

件。
  1 – 

 

错误被发送到 destination 

 

参数中的地址。只有该类型使用 headers 参数。

  2 – 

 

通过 PHP debugging 

 

连接来发送错误。该选项只在 PHP 3 中可用。

  3 – 错误发送到文件目标字符串。
  destination 

 “

可选。规定向何处发送错误消息。该参数的值依赖于 type” 参数的值。

  headers 

 “

可选。只在 type”   

为 1 时使用。

 

  规定附加的头部,比如 From, Cc 

 

以及 Bcc

 

。由 CRLF (\r\n) 分隔。

 

  注释:在发送电子邮件时,必须包含 From 

 

头部。可以在 php.ini 文件中或者通过此参

数设置。
  error_log 函数支持四种方式记录错误日志
  1.到默认的文件
  type 为 0.

 

  根据在 php.ini 

 

文件中的 error_log 配置,错误被发送到服务器日志系统或文件。

  2.邮件
  type 为 1.
  error_log("this is a test string",1,"imsiren@163.com","From:imsiren@163.com");
  很简单,它可以向某个邮箱发送邮件,第三个参数是收件人,第四个是发送人的邮

  3、发送错误

 

  通过 PHP debugging 

 

连接来发送错误。该选项只在 PHP 3 中可用。

  我从来没用过
  4.发送到文件
  type=3
  1error_log("this is a test string",3,"/home/admin/log/error_log");

 

  这种 方式,是我们经常用到的,将我们指定的错误内容写入到某一个文件。
    ==================================================================
============
  下面看看 PHP 是如何实现的 error_log
  在 ext/tandard/basic_functions.c 文件中:
                 PHP_FUNCTION(error_log)
        {
                char *message, *opt = NULL, *headers = NULL;
                int message_len, opt_len = 0, headers_len = 0;