在Centos7上,将PHP 7配置为向系统日志发送错误,解析错误会传播到墙上,例如,登录的用户会看到以下消息:
Broadcast message from systemd-journald@xxxxxxxxxx (Fri 2017-03-03 22:29:05 UTC):
httpd[3465]: PHP Parse error: Invalid numeric literal in /web/test.php on line 20
我想捕获这些消息并防止它们陷入困境。我已经尝试过此Rsyslog配置:
user.* /var/log/php.log
& stop
但是它并没有阻止广播消息。编辑/etc/systemd/journald.conf
为包括以ForwardToWall=no
防止广播消息...问题是它阻止了显示所有不希望的紧急消息。
如何防止PHP解析错误被广播,但允许其他关键系统消息记录到控制台?
事实证明,将ForwardToWall=no
&ForwardToSyslog=yes
放入即可/etc/systemd/journald.conf
解决问题。
来自PHP的Emerg消息被此自定义Rsyslog配置捕获:
user.* /var/log/php.log
& stop
其他emerg消息稍后会被捕获:
*.emerg :omusrmsg:*
已将消息发送给所有已登录的用户。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句