【问题标题】:I'm having an error by using the error_log php function [duplicate]使用error_log php函数时出现错误[重复]
【发布时间】:2013-08-17 12:04:39
【问题描述】:

我有一个问题。

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

我做错了什么??

【问题讨论】:

    标签: php


    【解决方案1】:

    来自answer here:

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

    这可能发生在:

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

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

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

    文档:error_log()

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        我不会长时间使用 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! 
        

        再次:谢谢所有

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

        【讨论】:

          猜你喜欢
          • 2017-02-22
          • 1970-01-01
          • 2018-05-09
          • 2014-02-16
          • 2014-06-23
          • 2014-07-25
          • 2018-03-23
          • 2021-05-02
          • 2018-08-11
          相关资源
          最近更新 更多