php作為一門web application語言,他要與web server配合一起使用,才能將網站動態的效果展現給人們看。常見的經典組合如(lamp、lnmp等等)。
php與web server的運行方式---php5_module、CGI、FastCGI
一、php5_module (php與apache的默認運行方式)
上面兩段代碼是不是用有鍾是曾相識的感覺,這就是apache將php作為一個模塊來運行。
二、CGI
CGI是外部應用程序(CGI程序)與Web服務器之間的接口標准,是在CGI程序和Web服務器之間傳遞信息的規程---官方解釋
CGI的好處就是完全獨立於任何服務器,僅僅是做為中間分子。提供接口給apache和php。他們通過CGI搭線來完成一系列動作。這樣做的好處了盡量減少兩個的關聯,使他們倆變得更獨立。
三、FastCGI(CGI的加強版)
PHP-CGI就是PHP實現的自帶的FastCGI管理器,而PHP-FPM也是PHP的FastCGI管理器。(兩者優缺點這里不說了)。
最后以一張圖片來展示這三種的升級變遷過程
(圖片來源參考資料)
參考資料如下:
1、CGI、FastCGI和PHP-FPM關系圖解 http://www.awaimai.com/371.html
2、php中fastcgi和php-fpm是什么東西 https://www.zybuluo.com/phper/note/50231