What is PHP-FPM and why does it matter?
The process manager that runs PHP behind most modern hosting stacks, and the reason your host almost certainly already uses it.
PHP-FPM — FastCGI Process Manager — is the software that actually runs PHP behind most modern hosting setups, sitting between the web server and your PHP code and handling requests through a pool of worker processes rather than one shared process trying to do everything. You do not install or manage it directly on shared hosting; it is already the layer your account runs on, and knowing it is there mostly matters for understanding why certain settings behave the way they do.
What it replaced
Older setups ran PHP as a module directly inside the web server itself, generally called mod_php. That approach tied PHP tightly to the web server's own process model, made it harder to run more than one PHP version side by side, and meant a slow PHP script could tie up a web server worker that would otherwise be free to serve other requests. FPM separates the two: the web server handles connections and static files, and hands anything that needs PHP over to a pool of FPM workers running independently.
Why this separation is useful in practice
- Multiple PHP versions on one server. Because FPM pools run independently of the web server, different sites on the same box can run entirely different PHP versions — which is exactly what lets you change a single site's PHP version without touching anything else on the account.
- Better isolation. A PHP process crashing or being killed for exceeding a limit affects that pool, not the web server handling every other request.
- More precise resource control. Limits like the number of simultaneous workers, or how long an idle worker stays alive, are tuned at the pool level rather than for the entire web server.
Why some old advice stops working under it
The most common practical consequence for a shared hosting customer is that .htaccess lines like php_value memory_limit 256M, which worked under the older mod_php model, are not read by FPM at all — see using .htaccess. Settings like that move to the PHP settings area of your control panel or a user-level php.ini file instead, which is the reason a tutorial written for an older hosting stack can quietly stop working when followed on a current one.
You do not need to configure FPM yourself on shared hosting — it is part of the platform, working the same way regardless of which site you are looking at — but recognising the name explains why some settings live where they do.
Related reading
OPcache keeps compiled PHP in memory instead of recompiling it on every request, and there is no good reason to leave it switched off.
How to check which PHP version your site usesA one-line PHP script and the PHP settings screen in your control panel both show the exact version your site runs on.
How to increase the PHP memory limitWhere memory_limit is set, how to raise it safely, and why a higher number is not always the actual fix for an exhausted-memory error.
How to call an external API from PHPcURL, an authentication header and a decoded JSON response — the three parts of calling any external API from a PHP script.