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;