-1

我有问题。

$log = error_log("/r/n $date, $username, $error", 3, "logs/login.txt");

每当将新错误发送到日志时,我都需要换行符。

但日志输出:

2013-08-17 13:10:34, asdf, Logingegevens onjuist! /r/n2013-08-17 13:10:41, fffffff, Logingegevens onjuist! 

我究竟做错了什么??

4

3 回答 3

0

我不会长时间在 php 中编写脚本。所以首先感谢您的回复。

我现在使用的代码是:

$log_data = "$date, $ip, $username, $error \r\n";
$log = file_put_contents("logs/login.log", $log_data, FILE_APPEND | LOCK_EX);

使用这些变量:

$date = date("Y-m-d H:i:s");
$ip = GetHostByName("REMOTE_ADDR");

至极输出:(ip模糊)

2013-08-19 13:28:28, x7.2xx.x5.x32, Vul alles in aub! 
2013-08-19 13:28:54, x7.2xx.x5.x32, Vul alles in aub! 
2013-08-19 13:28:58, x7.2xx.x5.x32, Vul alles in aub! 
2013-08-19 13:29:34, x7.2xx.x5.x32, admin, Login Succesvol! 
2013-08-19 13:35:02, x7.2xx.x5.x32, admin, Login Succesvol! 
2013-08-19 14:58:37, x7.2xx.x5.x32, admin Succesvol Uitgelogt!  
2013-08-19 14:58:44, x7.2xx.x5.x32, Paul, Logingegevens onjuist! 
2013-08-19 14:58:50, x7.2xx.x5.x32, admin, Login Succesvol! 

再次:谢谢所有

(抱歉英语不好,我来自荷兰)

于 2013-08-19T13:01:51.217 回答
0

这里的答案

...您应该能够将 Debian 上的 php.ini 中的 error_log 指令更改为指向文件。如果这是未定义的,它将通过不支持多行的系统日志

在以下情况下可能会发生这种情况:

  • Apache 无法写入您的error_log文件
  • error_log指令为空

如果是前者,那么您应该能够通过error_log使用php.ini.

如果是后者,那么您可以更改该文件的 CHMOD 权限并授予 Apache 写入权限。

文档:error_log()

于 2013-08-17T12:14:29.867 回答
0

如果您不使用文件日志记录,那么这将不起作用。

否则,它是\r\n,不是/r/n

于 2013-08-17T12:29:16.907 回答