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