PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. This is a variant of PHP that will run in the background as a daemon, listening for CGI requests. Output is logged to /var/log/php-fpm.log.
Most options are set in the configuration file. The configuration file is /etc/php-fpm.conf. By default, php-fpm will respond to CGI requests listening on localhost http port 9000. Therefore php-fpm expects your webserver to forward all requests for '.php' files to port 9000 and you should edit your webserver configuration file appropriately.
Do not chdir to the script's directory
- --php-ini path|file
- -c path|file
Look for php.ini file in the directory path or use the specified file
No php.ini file will be used
- --define foo[=bar]
- -d foo[=bar]
Define INI entry foo with value bar
Generate extended information for debugger/profiler
PHP information and configuration
Show compiled in modules
- --prefix path
Specify alternative prefix path (the default is /usr)
- --pid file
Specify the PID file location.
- --fpm-config file
Specify alternative path to FastCGI process manager configuration file (the default is /etc/php-fpm.conf)
Test FPM configuration file and exit If called twice (-tt), the configuration is dumped before exiting.
Force to run in background and ignore daemonize option from configuration file.
Force to stay in foreground and ignore daemonize option from configuration file.
Force output to stderr in nodaemonize even if stderr is not a TTY.
Allow pool to run as root (disabled by default)
The configuration file for the php-fpm daemon.
The standard php configuration file.
For any unix systems which use init.d for their main process manager, you should use the init script provided to start and stop the php-fpm daemon.
sudo /etc/init.d/php-fpm start
For any unix systems which use systemd for their main process manager, you should use the unit file provided to start and stop the php-fpm daemon.
sudo systemctl start php-fpm.service
If your installation has no appropriate init script, launch php-fpm with no arguments. It will launch as a daemon (background process) by default. The file /var/run/php-fpm.pid determines whether php-fpm is already up and running. Once started, php-fpm then responds to several POSIX signals:
SIGINT,SIGTERM immediate termination
SIGQUIT graceful stop
SIGUSR1 re-open log file
SIGUSR2 graceful reload of all workers + reload of fpm conf/binary
The PHP-FPM CGI daemon will work well with most popular webservers, including Apache2, lighttpd and nginx.
The PHP-FPM website:
For a more or less complete description of PHP look here:
A nice introduction to PHP by Stig Bakken can be found here:
You can view the list of known bugs or report any new bug you found at:
PHP-FPM SAPI was written by Andrei Nigmatulin. The mailing-lists are highload-php-en (English) and highload-php-ru (Russian).
The PHP Group: Thies C. Arntzen, Stig Bakken, Andi Gutmans, Rasmus Lerdorf, Sam Ruby, Sascha Schumann, Zeev Suraski, Jim Winstead, Andrei Zmievski.
A List of active developers can be found here:
And last but not least PHP was developed with the help of a huge amount of contributors all around the world.
This manpage describes php-fpm, version 8.2.11.
Copyright © The PHP Group
Copyright (c) 2007-2009, Andrei Nigmatulin
This source file is subject to version 3.01 of the PHP license, that is bundled with this package in the file LICENSE, and is available through the world-wide-web at the following url:
If you did not receive a copy of the PHP license and are unable to obtain it through the world-wide-web, please send a note to email@example.com so we can mail you a copy immediately.