参考-如何在PHP中写入错误日志文件

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

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

但这对我来说无法正常工作。

Vasant asked 2019-10-09T07:37:02Z
5个解决方案
95 votes

如果您不想更改php.ini文件中的任何内容,请根据PHP文档进行操作。

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

第一个参数是要发送到日志的字符串。 第二个参数3表示期望文件目标。 第三个参数是日志文件路径。

suspectus answered 2019-10-09T07:37:21Z
33 votes

您可以简单地使用:

error_log("your message");

默认情况下,消息将发送到php系统记录器。

SkaJess answered 2019-10-09T07:37:52Z
12 votes

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

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

如果要记录应用程序数据,则需要将其保存到自定义位置。

我们可以在error_log函数中使用两个参数来实现此目的。

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

我们可以使用:

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

哪里,

'/var/tmp/errors.log':将$ v(数组/字符串/对象)记录到日志文件中。print_r($v, TRUE) ::将日志消息放入第三个参数中指定的自定义日志文件。

'/var/tmp/errors.log'::自定义日志文件(此路径用于Linux,我们可以根据操作系统指定其他路径)。

或者,您可以使用'/var/tmp/errors.log':

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

哪里:

'/var/tmp/errors.log':自定义日志文件(此路径用于Linux,我们可以根据操作系统指定其他路径)。print_r($v, TRUE) :将$ v(数组/字符串/对象)记录到日志文件中。FILE_APPEND:常量参数,指定是否在文件存在时附加到文件,如果文件不存在,则将创建新文件。

Pupil answered 2019-10-09T07:39:20Z
7 votes

仅对于WAMP Server 3.0用户:

您必须在C:\wamp64\bin\php\php[5.*/7.*]\phpForApache.ini中进行更改

取消注释以下行:

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

以与我在这里提到的路径类似的方式查看您的日志:

c:/wamp/logs/php_error.log
Indrasinh Bihola answered 2019-10-09T07:40:04Z
3 votes

您可以使用正常的文件操作来创建错误日志。只需参考并输入以下链接即可:PHP文件处理

Hraday Joshi answered 2019-10-09T07:40:29Z
translate from https://stackoverflow.com:/questions/15530039/how-to-write-to-error-log-file-in-php