FPM (FastCGI Process Manager) is
a primary PHP FastCGI implementation containing some features (mostly) useful for heavy-loaded sites.
-
advanced process management with graceful stop/start;
-
pools that give ability to start workers with different
uid/gid/chroot/environment, listening on different ports and using
different php.ini (replaces safe_mode);
-
configurable stdout and stderr logging;
-
emergency restart in case of accidental opcode cache destruction;
-
accelerated upload support;
-
"slowlog" - logging scripts (not just their names, but their PHP
backtraces too, using ptrace and similar things to read remote
process' execute_data) that are executed unusually slow;
-
fastcgi_finish_request - special function to finish
request and flush all data while continuing to do something
time-consuming (video converting, stats processing etc.);
-
dynamic/ondemand/static child spawning;
-
basic and extended status info (similar to Apache mod_status) with
various formats like json, xml and openmetrics supported;
-
php.ini-based config file.