icalvete
icalvete

Reputation: 1159

Sending errors to syslog in php-fpm

I'm trying to setup an php-fpm daemon to send error_log to syslog.

My config php-fpm.conf looks thereby.

error_log = syslog
syslog.facility = local4
syslog.ident = php-fpm

Restarting php-fpm daemon I can see in the remote syslog server.

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

Good!

But when I test this with a real php script with errors, message change to..

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 is pool + default pool name (www). So two questions:

Upvotes: 4

Views: 8750

Answers (2)

Mike Purcell
Mike Purcell

Reputation: 19979

This issue will become more prevalent as we start to upgrade older systems to php 5.5+, so posting for future reference.

Here is the fix we used, put it as low level as you can so all your scripts can benefit:

// 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);

Upvotes: 2

Hett
Hett

Reputation: 3825

I think its a PHP bug :( See please

https://bugs.php.net/bug.php?id=67764

Upvotes: 2

Related Questions