php-fpm - Man Page
PHP FastCGI Process Manager 'PHP-FPM'
Synopsis
php-fpm [options]
Description
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.
Options
- -C
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
- -n
No php.ini file will be used
- --define foo[=bar]
- -d foo[=bar]
Define INI entry foo with value bar
- -e
Generate extended information for debugger/profiler
- --help
- -h
This help
- --info
- -i
PHP information and configuration
- --modules
- -m
Show compiled in modules
- --version
- -v
Version number
- --prefix path
- -p
Specify alternative prefix path (the default is /usr)
- --pid file
- -g
Specify the PID file location.
- --fpm-config file
- -y
Specify alternative path to FastCGI process manager configuration file (the default is /etc/php-fpm.conf)
- --test
- -t
Test FPM configuration file and exit If called twice (-tt), the configuration is dumped before exiting.
- --daemonize
- -D
Force to run in background and ignore daemonize option from configuration file.
- --nodaemonize
- -F
Force to stay in foreground and ignore daemonize option from configuration file.
- --force-stderr
- -O
Force output to stderr in nodaemonize even if stderr is not a TTY.
- --allow-to-run-as-root
- -R
Allow pool to run as root (disabled by default)
Files
- php-fpm.conf
The configuration file for the php-fpm daemon.
- php.ini
The standard php configuration file.
Examples
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
Tips
The PHP-FPM CGI daemon will work well with most popular webservers, including Apache2, lighttpd and nginx.
See Also
For a more or less complete description of PHP-FPM look here:
Bugs
You can view the list of known bugs or report any new bug you found at:
Authors
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:
https://www.php.net/credits.php
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.4.0RC3.
Copyright
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:
https://www.php.net/license/3_01.txt
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@php.net so we can mail you a copy immediately.