PHP-FPM(8)

πŸ“¦
version 8.5.9 Β· 2 versions
, in ubuntu stonking

πŸ’… PHP-FPM(8) β€” the manual page, but make it cute

okay bestie, welcome to the php-fpm page β€” that's section 8 of the manual, the "system administration" girlies. she's giving daemon energy and honestly? iconic.

✨ NAME ✨

php-fpm β€” the PHP FastCGI Process Manager, aka 'PHP-FPM' πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

php-fpm [options]

that's it. that's the whole vibe. flags only, no positional arguments, she doesn't need them. πŸ‘‘


🌸 DESCRIPTION 🌸

so. PHP is a widely-used, general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. periodt. πŸ’…

This is a variant of PHP that runs in the background as a daemon, just chilling there, listening for CGI requests. and where do all her thoughts go? output is logged to /var/log/php-fpm.log. lowercase queen. πŸ“

most of her settings don't live in flags at all, bestie β€” they live in the configuration file, which is /etc/php-fpm.conf. πŸŽ€

by default, php-fpm responds to CGI requests by listening on localhost http port 9000. which means she expects your webserver to forward every single request for '.php' files on over to port 9000 β€” so you should go edit your webserver configuration file appropriately. she's not coming to you, you're coming to her. ✨


πŸ’… OPTIONS πŸ’…

every single one, no skips, we don't do that here:

  • -C β€” do not chdir to the script's directory. stay put. 🫢
  • --php-ini path|file, -c path|file β€” go look for the php.ini file in the directory path, or just use the file you pointed at.
  • --no-php-ini, -n β€” no php.ini file will be used at all. nothing. zero. unbothered. πŸ™ˆ
  • --define foo[=bar], -d foo[=bar] β€” define the INI entry foo with the value bar. you're literally just making up rules now, slay.
  • -e β€” generate extended information for debugger/profiler. πŸ”
  • --help, -h β€” this help. hi, hello, that's me. πŸ‘‹
  • --info, -i β€” PHP information and configuration. the lore. πŸ“š
  • --modules, -m β€” show compiled in modules. look at all her little friends. 🧚
  • --version, -v β€” version number. ⭐
  • --prefix path, -p β€” specify an alternative prefix path (the default is /usr).
  • --pid file, -g β€” specify the PID file location.
  • --fpm-config file, -y β€” specify an alternative path to the FastCGI process manager configuration file (the default is /etc/php-fpm.conf).
  • --test, -t β€” test the FPM configuration file and exit. and get this β€” if you call it twice (-tt), the configuration is dumped before exiting. double tap for the receipts πŸ’–
  • --daemonize, -D β€” force her to run in the background and ignore the daemonize option from the configuration file. overruling the config, we love a decisive queen.
  • --nodaemonize, -F β€” force her to stay in the foreground and ignore the daemonize option from the configuration file. she stays. right here.
  • --force-stderr, -O β€” force output to stderr in nodaemonize, even if stderr is not a TTY. πŸ’€
  • --allow-to-run-as-root, -R β€” allow the pool to run as root (disabled by default). disabled by default for a reason, bestie β€” read that twice before you flex it. πŸ‘‘

πŸŽ€ FILES πŸŽ€

  • php-fpm.conf β€” the configuration file for the php-fpm daemon. her diary. πŸ“”
  • php.ini β€” the standard php configuration file. πŸ““

🌈 SIGNAL 🌈

once she's started, php-fpm responds to several POSIX signals. here's the cheat sheet, memorize it, it will come up:

  • SIGINT,SIGTERM β€” immediate termination. no warning, no goodbye, we're done here.
  • SIGQUIT β€” graceful stop. the soft launch of shutdowns.
  • SIGUSR1 β€” re-open log file. fresh notebook, same girl. πŸ“βœ¨
  • SIGUSR2,SIGHUP β€” graceful reload of all workers + reload of

fpm conf/binary

okay yes the original text really does break across the lines like that, so there you go β€” graceful reload of all workers + reload of fpm conf/binary. πŸ”


🫢 SEE ALSO 🫢

for a more or less complete description of PHP-FPM, look here: https://www.php.net/fpm β€” the lore drops, go read them. πŸ“–


πŸ› BUGS πŸ›

you can view the list of known bugs, or report any new bug you found, at: https://github.com/php/php-src/issues. not me finding a bug at 3am πŸ™ˆ


πŸ‘‘ AUTHORS πŸ‘‘

PHP-FPM SAPI was written by Andrei Nigmatulin. and the mailing lists are highload-php-en (English) and highload-php-ru (Russian) β€” multilingual legend behavior. 🌍

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 β€” go give them their flowers. πŸ’

and last but not least, PHP was developed with the help of a huge amount of contributors all around the world. a truly global group chat 🌈


⭐ VERSION INFORMATION ⭐

this manpage describes php-fpm, version 8.5.9.


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. πŸŽ€


and that's the whole page, bestie β€” no notes, no cap, every flag accounted for. πŸ’…

okay bye, this was the The PHP Group's php-fpm manpage, dated 2024, and you read the whole entire thing β€” that's the section 8 manual, mwah, obsessed with you, go restart your pools πŸ¦‹βœ¨

πŸ“¦ where this page comes from