t4mer@notebook

// til · php · 1 april 2026 · 1 min

TIL: what PHP-FPM actually does

PHP-FPM is a pool of PHP processes. Nginx does not speak PHP. It speaks FastCGI to that pool.

Nginx cannot execute PHP. Apache with mod_php could blur that line. The usual modern setup is: Nginx accepts HTTP, then talks FastCGI to PHP-FPM, which is a manager for a pool of PHP worker processes.

Those workers are the processes that run index.php. If FPM is down, the socket is wrong, or the pool is full, Nginx will tell you with 502/504. Laravel will tell you nothing, because it never started.

This is the sentence that made the Nginx → FPM → Laravel article possible. PHP-FPM is not “PHP on the server”. It is the pool.

Found something wrong?

These notes can be incomplete, or wrong in a different environment. Suggest a correction on GitHub or email me at me@t4mer.net.

// related