在php fpm中将错误发送到syslog

在php fpm中将错误发送到syslog,php,syslog,Php,Syslog,我正在尝试设置一个php fpm守护进程,以将错误日志发送到syslog 我的配置php-fpm.conf如下所示 error_log = syslog syslog.facility = local4 syslog.ident = php-fpm 重新启动远程syslog服务器中的php fpm守护进程 Mar 22 00:32:08 192.168.33.14 php-fpm[20919]: [NOTICE] configuration file /etc/php5/fpm/php-fpm

我正在尝试设置一个php fpm守护进程,以将错误日志发送到syslog

我的配置php-fpm.conf如下所示

error_log = syslog
syslog.facility = local4
syslog.ident = php-fpm
重新启动远程syslog服务器中的php fpm守护进程

Mar 22 00:32:08 192.168.33.14 php-fpm[20919]: [NOTICE] configuration file /etc/php5/fpm/php-fpm.conf test is successful
好!

但当我用一个带有错误的真实php脚本测试时,消息更改为

Mar 22 00:05:59 192.168.33.14 ool www[20889]: PHP Parse error:  syntax error, unexpected ''api'' (T_CONSTANT_ENCAPSED_STRING) in /var/api/public/index.php on line 2
ool www是池+默认池名(www)。所以有两个问题:

  • 为什么我看到的是ool www而不是php fpm(syslog.ident value)
  • 为什么池标题被截断
    • 我认为这是一个PHP错误:( 请看


      随着我们开始将较旧的系统升级到php 5.5+,此问题将变得更加普遍,因此发布供将来参考

      这是我们使用的修复程序,请尽可能将其放在较低的级别,以便您的所有脚本都能受益:

      // This was needed for upgrade to php5.5+ with php-fpm
      //  Source: https://gist.github.com/gjuric/e0c9e45efb3d15e3b949
      //  Bug History: http://stackoverflow.com/questions/22575152/sending-errors-to-syslog-in-php-fpm
      openlog('php', LOG_ODELAY, LOG_USER);
      

      虽然我自己的技巧()解决了这个问题,但是没有解决这个问题。你能解决这个问题吗?