如何写入PHP中的错误日志文件

我想在执行PHP代码时写一条消息给错误日志文件。

我正在尝试使用PHP error_log()函数Docs 。

但是对我来说工作不正常。

如果你不想在你的php.ini文件中改变任何东西,根据PHP文档 ,你可以做到这一点。

 error_log("Error message\n", 3, "/mypath/php.log"); 

第一个参数是要发送到日志的string。 第二个参数3意味着期望一个文件目的地。 第三个参数是日志文件path。

你可以简单地使用:

 error_log("your message"); 

默认情况下,该消息将被发送到php系统logging器。

我们都知道PHP在php_errors.log文件中保存错误。

但是,该文件包含大量的数据。

如果我们要logging我们的应用程序数据,我们需要将其保存到自定义位置。

我们可以在error_log函数中使用两个参数来实现这一点。

http://php.net/manual/en/function.error-log.php

我们可以这样做:

 error_log(print_r($v, TRUE), 3, '/var/tmp/errors.log'); 

哪里,

print_r($v, TRUE) :将$ v(数组/string/对象)logging到日志文件。 3 :将日志消息放入第三个参数中指定的自定义日志文件。

'/var/tmp/errors.log' :自定义日志文件(这个path是Linux的,我们可以指定其他的取决于OS)。

或者,你可以使用file_put_contents()

 file_put_contents('/var/tmp/e.log', print_r($v, true), FILE_APPEND); 

哪里:

'/var/tmp/errors.log':自定义日志文件(这个path是Linux的,我们可以指定其他的取决于OS)。 print_r($v, TRUE) :将$ v(数组/string/对象)logging到日志文件。 FILE_APPEND:指定是否附加文件的常量参数,如果文件不存在,则创build新文件。

简单地取消注释在php.ini中指定的代码

它是这样指定的:

 ;error_log = "c:/wamp/logs/php_error.log" 

像这样改变它:

 error_log = "c:/wamp/logs/php_error.log" 

这是为用户指定的。

查看你的日志类似的path,我已经提到这里:

 c:/wamp/logs/php_error.log 

请确保在php.ini中:

 log_errors = On 

您可以使用正常的文件操作来创build错误日志。 只需引用此并input此链接: PHP文件处理