FastCGI Process Manager (FPM)

Table of Contents

FPM (FastCGI Process Manager) is a primary PHP FastCGI implementation containing some features (mostly) useful for heavy-loaded sites.

These features include:

  • 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.