PHP FPM是一種為PHP腳本提供Web服務器服務的軟件。FPM代表FastCGI進程管理器。使用FPM,可以在Web服務器啟動時預先啟動PHP進程,并將其存儲在內存中,以便稍后使用。
相比于其他PHP解決方案,PHP FPM具有更高的性能和更好的處理能力。例如,Nginx和Apache是當前PHP FPM的最流行的Web服務器。這里我們舉一個Apache的例子,在Apache中,它是作為一個模塊加載的。這意味著Apache不再需要在每個請求中的PHP腳本之間啟動新的PHP解釋器,從而提高了性能并節省了系統資源。
FPM的工作方式是將PHP進程保持在內存中,并且在必要時分發請求。當用戶請求到達服務器時,FPM將該請求發送到PHP解釋器來處理。此時,PHP進程在內存中是一直存在的。因此,PHP腳本的解釋過程發生在交付之前,從而提高了系統的整體效率和處理能力。
我們來看看如何安裝PHP-FPM。首先,您需要在系統上安裝PHP。然后,您可以像安裝其他軟件包一樣安裝PHP-FPM。以下是在Ubuntu上安裝PHP-FPM的命令:
sudo apt-get install php-fpm安裝完成后,您需要編輯默認配置文件以更改PHP FPM的行為。您可以編輯以下文件:
/etc/php/7.x/fpm/pool.d/www.conf在這里,您可以更改以下選項:
error_log = /var/log/php-fpm.log listen = /var/run/php/php7.x-fpm.sock這些選項控制日志文件的位置以及PHP-FPM應該偵聽哪個套接字。 配置完畢后,您需要重新啟動PHP-FPM:
sudo systemctl restart php7.x-fpm接下來,您需要使Web服務器使用PHP-FPM來處理PHP腳本請求。以下是如何在Nginx中配置PHP-FPM的示例:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; }在該配置中,Nginx將請求轉發到PHP-FPM進程,該進程在特定套接字上偵聽。使用這種方法,您可以輕松地使Web服務器與PHP FPM通信。 總之,PHP FPM是一種用于響應PHP請求的高性能軟件,它將PHP進程保持在內存中,以便在必要時快速地處理請求。與其他PHP解決方案相比,PHP FPM具有更好的性能和更好的響應時間,并且是目前Web服務器的最佳選擇之一。