php-fpm (8) - Linux Manuals

php-fpm: PHP FastCGI Process Manager 'PHP-FPM'


php-fpm - PHP FastCGI Process Manager 'PHP-FPM'


php-fpm [options]


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
-n 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
-h This help
-i PHP information and configuration
-m Show compiled in modules
-v Version number --prefix path
-p Specify alternative prefix path (the default is /usr)
--fpm-config file
-y Specify alternative path to FastCGI process manager configuration file (the default is /etc/php-fpm.conf)
-t Test FPM configuration file and exit If called twice (-tt), the configuration is dumped before exiting.
-D Force to run in background and ignore daemonize option from configuration file.
-F Force to stay in foreground and ignore daemonize option from configuration file.
--zend-extension file
-z file Load Zend extension file


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


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


Copyright © 1997-2009 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 license [at] so we can mail you a copy immediately.


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: