忽略换行符的PHP错误日志
在运行PHP7.0.1时,我遇到了一个问题,我使用了忽略换行符的PHP错误日志,php,apache,syslog,Php,Apache,Syslog,在运行PHP7.0.1时,我遇到了一个问题,我使用了error_log('..'.PHP_EOL'.')但是当我查看日志文件时,我在输出中得到了逐字\n 错误日志被设置为使用syslog,并在apaches错误日志中结束。这是CentOS 7系统 绕过系统日志不是一个选项,因为这会删除使用系统日志转发到中央日志服务器的功能。如果您担心跨操作系统的兼容性,只需使用“\r\n”。似乎每次都是更好的选择 还要记住,单引号('\n')中的\n确实会逐字打印出来。双引号(“\n”)可以满足您的需要。您坚持
error_log('..'.PHP_EOL'.')
但是当我查看日志文件时,我在输出中得到了逐字\n
错误日志被设置为使用syslog,并在apaches错误日志中结束。这是CentOS 7系统
绕过系统日志不是一个选项,因为这会删除使用系统日志转发到中央日志服务器的功能。如果您担心跨操作系统的兼容性,只需使用“\r\n”。似乎每次都是更好的选择
还要记住,单引号('\n')中的\n确实会逐字打印出来。双引号(“\n”)可以满足您的需要。您坚持使用syslog吗?如果您在php.ini中定义了一个文件,就可以避免这种情况。系统日志转发是我关心的一个功能,所以,是的,单逗号缺少变量插值。你应该使用双引号。请参见:另请参见:变量插值与此问题无关。哦,CentOS7应该使用rsyslog而不是普通的旧syslog。。也许您可以配置它:这里的问题是syslog,它不支持多行消息。对不起,这与这个问题无关。@MichaelBerkowski ahhh-我错过了这部分内容。不客气,您完全错过了这个问题..嗯?你是说我误导了反对票吗?据我所知,否决某件事的意思是表明它是一个不相关或错误的答案。。