我使用error_log php函数出错了

时间:2013-08-17 12:04:39

标签: php

我遇到了问题。

$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! 

我做错了什么?

3 个答案:

答案 0 :(得分:0)

来自answer here

  

...您应该能够在Debian上的php.ini中更改error_log指令以指向文件。如果未定义,将通过不支持多行的syslog

如果出现以下情况,可能会发生:

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

如果是前者,那么您应该可以通过使用error_log中的php.ini指令定义文件来解决此问题。

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

文档:error_log()

答案 1 :(得分:0)

如果你没有使用文件记录,那么这将不起作用。

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

答案 2 :(得分: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 blur)

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! 

再次:Thnx all

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