php中的error_log中的换行符

Sat*_*ish 29 php

如何error_log()在php中使用时插入换行符

我尝试使用<br>,\n但那些不起作用.

Kon*_*rak 57

在放入错误消息时使用双引号:

error_log("This is a two lined message. \nThis is line two.");
Run Code Online (Sandbox Code Playgroud)

应该管用.

error_log('This is a one lined message. \nThis is the same line still.');
Run Code Online (Sandbox Code Playgroud)

不起作用:注意单引号.

  • 所以?其他参数是可选的.也许您应该指定您想要达到的目标,因为AFAICT您刚刚获得了解决问题的方法. (8认同)

guy*_*oni 26

如前所述,您可以使用PHP_EOL或使用双引号来输出日志到日志文件.

无论如何,当使用linux控制台调试应用程序时,该tail命令会将新行显示为\\\\n.

简单的解决方案是使用sed以替换\\\\n\\n:

tail -f file | sed 's/\\n/\n/g'
Run Code Online (Sandbox Code Playgroud)

请参阅此答案:https:
//serverfault.com/a/126409

  • 这实际上证明了 error_log 没有正确输出换行符。tail 不会自动转义任何东西。这是为我解决问题的唯一方法。 (3认同)

Mla*_*vic 25

PHP_EOL管理多个平台上的换行符:

error_log("Error message".PHP_EOL, 3, 'error.log');
Run Code Online (Sandbox Code Playgroud)