PHP › Deployment & Hosting for PHP Applications
What is PHP-FPM, and what role does it play in serving PHP applications through a web server like Nginx?
BeginnerAnswer
PHP-FPM, or FastCGI Process Manager, is a PHP implementation that manages a pool of worker processes ready to handle incoming PHP requests, working alongside a web server like Nginx which handles serving static files and forwards PHP specific requests to PHP-FPM for actual processing, and this separation of concerns generally provides better performance and more flexible process management compared to older, simpler PHP execution models.
# Nginx configuration snippet
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
}Real-world example A production server runs Nginx to efficiently serve static assets like images and CSS files directly, while forwarding any request for a PHP file to a properly configured pool of PHP-FPM worker processes for execution.