php-fpm - Man Page

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


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


This help


PHP information and configuration


Show compiled in modules


Version number

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

See Also

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.

Version Information

This manpage describes php-fpm, version 8.3.6.


2024 The PHP Group Scripting Language