PHP-FPM(8)

πŸ“¦
version 8.4.27 Β· 4 versions
, in debian trixie

πŸ’– PHP-FPM(8) πŸ’–

okay bestie, so this is the manual page for php-fpm, from the Scripting Language corner of your man pages, and honestly? she's a whole icon. let's get into it πŸŽ€


✨ NAME ✨

php-fpm β€” the PHP FastCGI Process Manager, aka 'PHP-FPM'. yeah she has a whole government name AND a nickname. main character behavior fr. πŸ‘‘


🌸 SYNOPSIS 🌸

php-fpm [options]

that's it. that's the whole vibe. you run her with some options and she does the thing. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

so like, PHP is a widely-used general-purpose scripting language that's especially suited for Web development and can be embedded into HTML. you knew that. everyone knows that. πŸ’β€β™€οΈ

THIS version though β€” this variant of PHP β€” runs in the background as a daemon, just chilling, listening for CGI requests. her output gets logged to /var/log/php-fpm.log. she's not loud, she's just always there. that's her vibe. πŸŒ™

most of the options? not set by you on the command line, bestie. they live in the configuration file. that file is /etc/php-fpm.conf. πŸ“

by default, php-fpm responds to CGI requests listening on localhost http port 9000. so this means your webserver needs to forward all the requests for '.php' files to port 9000, and you should go edit your webserver configuration file appropriately. like, actually go do it. she's waiting. πŸ™ˆ


πŸ’… OPTIONS πŸ’…

okay this is the big one. every single flag, no skipping, we're doing all of them bestie. buckle up. 🫢

  • -C β€” does NOT chdir to the script's directory. stay put, periodt.
  • --php-ini path|file, -c path|file β€” look for the php.ini file in the directory path, or just use the file you specified directly. your call, queen.
  • --no-php-ini, -n β€” no php.ini file will be used AT ALL. zero. none. bold move honestly. πŸ’€
  • --define foo[=bar], -d foo[=bar] β€” define the INI entry foo with value bar. you're literally writing config from the command line, that's so iconic.
  • -e β€” generate extended information for debugger/profiler. detective mode, activated. πŸ”
  • --help, -h β€” the help. you are here. hi. πŸ‘‹
  • --info, -i β€” PHP information and configuration. she's telling you everything about herself. emotional availability, we love to see it. 😭
  • --modules, -m β€” show the compiled in modules. what she's made of. ✨
  • --version, -v β€” version number. which era of her are we in?
  • --prefix path, -p β€” specify an alternative prefix path (the default is /usr). she's flexible, she can move. 🏠
  • --pid file, -g β€” specify the PID file location. that's her address. leave a note. πŸ’Œ
  • --fpm-config file, -y β€” specify an alternative path to the FastCGI process manager configuration file (the default is /etc/php-fpm.conf). going somewhere fancy? πŸ‘‘
  • --test, -t β€” test the FPM configuration file and exit. and if you call it TWICE, so -tt, the configuration is dumped before exiting. double tap for the full tea. β˜•
  • --daemonize, -D β€” force her to run in the background and ignore the daemonize option from the configuration file. config said one thing, you said another. your word wins. πŸ”₯
  • --nodaemonize, -F β€” force her to stay in the foreground and ignore the daemonize option from the configuration file. she stays. she watches. 🌈
  • --force-stderr, -O β€” force output to stderr in nodaemonize even if stderr is not a TTY. okay that one's specific but it's in the list so here it is. πŸ’œ
  • --allow-to-run-as-root, -R β€” allow the pool to run as root (disabled by default). yeah. it's off. it stays off unless you say otherwise. just so we're clear. 🚨

πŸŽ€ FILES πŸŽ€

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

⭐ SIGNAL ⭐

once she's started, php-fpm responds to several POSIX signals. think of it like a mood ring but for processes:

  • SIGINT,SIGTERM β€” immediate termination. she's GONE. no goodbye. πŸ’€
  • SIGQUIT β€” graceful stop. she leaves politely, closes the door behind her. πŸšͺ
  • SIGUSR1 β€” re-open log file. fresh notebook, same girl. πŸ““
  • SIGUSR2,SIGHUP β€” graceful reload of all workers + reload of fpm conf/binary. glow up reload, everything gets refreshed. ✨

🌈 SEE ALSO 🌈

for a more or less complete description of PHP-FPM, look here: https://www.php.net/fpm πŸ’–


πŸ› BUGS πŸ›

you can view the list of known bugs, or report any new bug you found, at: https://github.com/php/php-src/issues

ngl if you find one, tell them. they wanna know. no cap. 🫢


πŸ‘‘ 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. the whole squad. 🌟

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. literally worldwide. global village energy. πŸŒπŸ’œ


🌸 VERSION INFORMATION 🌸

this manpage describes php-fpm, version 8.4.27. πŸ“Œ


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. they're nice about it, promise. πŸ“¬


okay and that's the whole page bestie πŸŽ€ written by The PHP Group back in 2024, this was page PHP-FPM(8) and she ate every single time. love that for her. now go fix your webserver config. πŸ’…βœ¨

πŸ“¦ where this page comes from