Edit report at https://bugs.php.net/bug.php?id=52052&edit=1
ID: 52052 Comment by: f...@php.net Reported by: ef-lists at email dot de Summary: add syslog support to FPM Status: Assigned Type: Feature/Change Request Package: FPM related Operating System: Linux/*NIX PHP Version: 5.3SVN-2010-06-11 (SVN) Assigned To: fat Block user comment: N Private report: N New Comment: I've just commit a partial syslog support to 5.4 branch and trunk: http://svn.php.net/viewvc?view=revision&sortby=date&revision=312950 I'll wait 5.3.7 is out before backporting this to 5.3 branch. it's only a partial syslog support as only error_log can use syslog. Slowlog patch must wait for bug #51118 to be closed. Previous Comments: ------------------------------------------------------------------------ [2011-07-05 15:22:45] f...@php.net Automatic comment from SVN on behalf of fat Revision: http://svn.php.net/viewvc/?view=revision&revision=312950 Log: - FR #52052: Added partial syslog support (on error_log only) ------------------------------------------------------------------------ [2011-07-05 13:15:29] f...@php.net to allow syslog on children, we'll have to wait until https://bugs.php.net/bug.php?id=51118 is closed. ------------------------------------------------------------------------ [2011-04-12 02:17:31] mark at catseye dot org I tried this out in a development snapshot for PHP 5.3.7, but found that calls to zlog() from children were not showing up in syslog. The following change fixes the problem; let me know if you'd like me to upload a new version of the patch. diff -up php-snap/sapi/fpm/fpm/fpm_stdio.c.syslog php-snap/sapi/fpm/fpm/fpm_st dio.c --- php-snap/sapi/fpm/fpm/fpm_stdio.c.syslog 2011-04-11 19:10:17.425036568 -0 400 +++ php-snap/sapi/fpm/fpm/fpm_stdio.c 2011-04-11 19:10:24.569131370 -0400 @@ -64,9 +64,9 @@ int fpm_stdio_init_child(struct fpm_work #endif { close(fpm_globals.error_log_fd); + fpm_globals.error_log_fd = -1; + zlog_set_fd(-1); } - fpm_globals.error_log_fd = -1; - zlog_set_fd(-1); if (wp->listening_socket != STDIN_FILENO) { if (0 > dup2(wp->listening_socket, STDIN_FILENO)) { ------------------------------------------------------------------------ [2011-02-15 21:34:21] php at mike2k dot com I would log everything under a consistent ident/facility myself. Then you have all FPM stuff coming in one stream. If you want to split it up then you can use filters inside of whatever syslog tools you use. $.02 ------------------------------------------------------------------------ [2011-02-15 19:42:45] kyle_leaders at mcgraw-hill dot com As a small fix to this, I just noticed that in 5.3.5, PHP-FPM logs correctly to the syslog, but the syslog tag is incorrect. If for example you have a pool named "www" it will log to syslog like so: 2011-02-15 13:28:09.172141-05:00 hostname w: PHP Warning: ocierror() expects parameter 1 to be resource, null given in filename.php on line 177 Similarly if you have a longer pool name (poolname) it'll show up like so: 2011-02-15 13:28:09.172141-05:00 hostname olname: PHP Warning: ocierror() expects parameter 1 to be resource, null given in filename.php on line 177 It seems to be chopping off the first 2 characters of the pool name when it reports the syslog tag/program name to syslog. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=52052 -- Edit this bug report at https://bugs.php.net/bug.php?id=52052&edit=1