勵志

勵志人生知識庫

php fpm是什麼

PHP-FPM(FastCGI Process Manager)是一箇PHP FastCGI進程管理器

它是PHP的一箇補丁包,專門用於整合FastCGI進程管理功能到PHP中,旨在提供更高效的PHP FastCGI進程管理。PHP-FPM提供了許多高級功能,如平滑停止/啓動進程、不同用戶/組ID或chroot環境下的運行、監聽不同端口、使用不同的php.ini配置文件、stdout和stderr日誌記錄、意外情況下的重新啓動和opcode緩存、文件上傳優化支持、慢日誌記錄(用於分析運行緩慢的腳本)、fastcgi_finish_request()(用於後臺執行耗時任務)、動態或靜態子進程生成、以及基於php.ini的配置文件等。

PHP-FPM的核心功能是作爲PHP FastCGI的運行模式,管理PHP進程。它通過創建一箇主進程(Master)來監聽socket,並fork出多箇工作進程(Worker)。這些工作進程阻塞在accept方法處,等待請求到達時開始處理請求。PHP-FPM的工作模式確保了每個工作進程同時只能響應一箇請求,處理完當前請求後纔會接受下一個請求。這種設計對於高負載網站非常有用,因爲它能有效地管理資源並提高性能。