我遇到了问题。
$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!
我做错了什么?
答案 0 :(得分:0)
来自answer here:
...您应该能够在Debian上的php.ini中更改error_log指令以指向文件。如果未定义,将通过不支持多行的syslog 。
如果出现以下情况,可能会发生:
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
(抱歉英语不好,我来自荷兰)