PHP三种运行方式mod_php5/cgi/fast-cgi

转载 2016年05月31日 21:16:27

1. PHP三种运行方式mod_php5/cgi/fast-cgi

1.1. a.通过HTTPServer内置的模块来实现,

例如Apache的mod_php5,类似的Apache内置的mod_perl可以对perl支持;

1.2. b.通过CGI来实现

这个就好比之前perl的CGI,该种方式的缺点是性能差,因为每次服务器遇到这些脚本都需要重新启动脚本解析器来执行脚本然后将结果返回给服务器;另一方面就是不太安全;该方面几乎很少使用了。

1.3. c.最新出现一种叫做FastCGI。

所谓FastCGI就是对CGI的改进。它一般采用C/S结构,一般脚本处理器会启动一个或者多个daemon进 程,每次HTTPServer遇到脚本的时候,直接交付给FastCGI的进程来执行,然后将得到的结果(通常为html)返回给浏览器。

该种方法的问题存在一个小问题是当遇到大流量的频繁请求的话,脚本处理器的daemon进程可能会超负荷从而变得很慢,甚至发生内存泄漏;

但是比较起Apache的内置模块的方式的优点是由于Server和脚本解析器完全分开各负其责,因此服务器不再臃肿,可以专心地进行静态文件响 应或者将动态脚本解析器的结果返回给用户客户端。所以比较起Apache的内置模块方式,有时候性能要提高很多。有人测试可能会达到 Apache+mod_php的5~10倍。

1.3.1. 三种常用模式:

Apache+mod_php5;

lightppd+spawn-fcgi;

nginx+PHP-FPM

1.3.2. 我们可以使用到生产环境中的:

1.3.3. 0) 如果不是server cluster的话:

可以使用以上任一种,不过有各种测试表明nginx+PHP-FPM性能优越,但是Apache+mod_php5很经典模块多,比如对.htaccess等的支持。

1.3.4. 如果构建server cluster的话:

1.3.5. 1) nginx作为反向代理服务器,后台多台Apache+mod_php5。

nginx处理静态文件,及对php并发请求对后台多台app server的负载均衡;

1.3.6. 2) nginx作为反向代理器,后台多台PHP-FPM

nginx处理静态文件及将php并发请求发送到后台php-fpm来解析;






1)CGI方式加载PHP环境
通常就是IIS里面配置解释器为php.exe,早期比较常见,目前使用较少。   特点是:稳定,但效率太低。  
2)ISAPI方式加载PHP环境
通常就是IIS里面配置解释器为php5isapi.dll,目前使用最多,应用最广。   特点是:多线程,效率较高,但不够稳定。  
3)FastCGI方式加载PHP环境
在IIS环境里并不常见,但其它系统环境应用还是有的,不过IIS7.0开始内置FastCGI了。  特点是:高效率,高稳定性,属于将来发展趋势。

相关文章推荐

php fast cgi+nginx

安装好nginx 和  php-cgi.exe -b 127.0.0.1:3344

Windows下图文详解PHP三种运行方式(php_mod、cgi、fastcgi)

PHP能不能成功的在Apache服务器上运行,就看我们如何去配置PHP的运行方式。PHP运行目前为止主要有三种方式: a、以模块加载的方式运行,初学者可能不容易理解,其实就是将PHP集成到Apache...

ubuntu 安装 nginx+php5 fast-cgi

1.安装nginx运行: sudo apt-get insttsall nginx  Ubuntu安装之后的文件结构大致为: * 所有的配置文件都在/etc/nginx下,并且每个虚拟主机已经安排在了...

php的几种运行模式CLI、CGI、FastCGI、mod_php

php的几种运行模式CLI、CGI、FastCGI、mod_php

PHP的两种方式CGI和mod_php的比较

最近PHP又爆出漏洞: ‘当 PHP 以 CGI 模式运行时 (如 Apache 的 mod_cgid), php-cgi 会接受处理一個查询字符串作为命令行参数以开启某些功能 如 -s, -...

php在apache中一共有三种工作方式:CGI模式、FastCGI模式、Apache 模块DLL

一、php在apache中一共有三种工作方式:CGI模式、FastCGI 、FastCGI是什么?         FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行 为是将CGI...

安装PHP三种安装方式静态模式、动态模式(DSO)、CGI二进制模式。

我们在使用PHP时,通常都会与Apache一起使用。那么,如何能够将二者很好的融合在一起呢?我们接下来就向大家介绍如何实现PHP安装为Apache的。在安装PHP时,有三种安装方式可供选择:静态模式、...
  • sflsgfs
  • sflsgfs
  • 2011年04月11日 14:24
  • 2008

php在apache中三种工作方式:CGI模式、FastCGI模式、Apache 模块DLL 的区别

一、 php在apache中一共有三种工作方式:CGI模式、FastCGI 、FastCGI是什么?  FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行 为是将CGI解释器进程保持在内...

PHP超级配置模块--PHP4,PHP5,module,cgi任你玩转--应用于Apache

来源: http://www.newasp.net/tech/php/1079.html 在Apache之中调用PHP是个经久不衰的话题,目前的PHP存在PHP4和PHP5的版本,而且在Apache之...

apache php的几种运行方式(cgi,fastcgi...)

PHP的所有应用程序都是通过WEB服务器(如IIS或Apache)和PHP引擎程序解释执行完成的, 工作过程: (1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP三种运行方式mod_php5/cgi/fast-cgi
举报原因:
原因补充:

(最多只允许输入30个字)