首页 > 资讯列表 > 编程/数据库 >> PHP

PHP: CGI,FASTCGI,php-fpm,mod_php,mod_cgi,mod_fcgid运行模式详解

PHP 2014-12-01 05:18:44 转载来源: 网络整理/侵权必删

本文为大家讲解了PHP的各种运行模式:CGI,FASTCGI,php-fpm,mod_php,mod_cgi,mod_fcgid详解,感兴趣的同学参考下。 1. CGI是通用网关接口,HTTP服务器使用这样的接口程序来和其他应用(比如PHP的解释器程序)通讯,由于CGI采用fork and execution方式,每次请求都需要新建立CGI程序来进行处理,这样导致性能低下

本文为大家讲解了PHP的各种运行模式:CGI,FASTCGI,php-fpm,mod_php,mod_cgi,mod_fcgid详解,感兴趣的同学参考下。

1. CGI是通用网关接口,HTTP服务器使用这样的接口程序来和其他应用(比如PHP的解释器程序)通讯,由于CGI采用fork and execution方式,每次请求都需要新建立CGI程序来进行处理,这样导致性能低下。

2. FASTCGI是常驻内存的CGI,实际上是对CGI程序的进程管理,通过master进程接受请求,分发给worker进程,并可以prefork worker进程,减少CGI进程创建、初始化和销毁的开销,从而提高性能。

3. mod_php是apache的内置php解释模块,使用prefork方式,不需要额外的进程来做通讯和应用解释,显然mod_php比mod_cgi 这样方式性能要好得多,但缺点是把应用和HTTP服务器绑定在了一起,另外每个Apache进程都需要加载mod_php而不论这个请求是处理静态内容还 是动态内容,这样导致浪费内存,效率下降,此外php.ini文件的变更需要重新启动apache服务器才能生效,这使得无法进行平滑配置变更。

4. php-fpm是常和nginx搭配使用的程序,php-fpm实际上就是对FASTCGI协议的一个加强实现,已经被纳入PHP内核,可以通过 --enable-fpm编译选项来启用,php-fpm支持配置的平滑变更(通过fork新的worker进程),性能好,内存使用效率高,这也是为什 么nginx+php-fpm的配置组合会替代apache+mod_cgi以及apache+mod_php的重要原因。

5. mod_fcgid是apache的fastcgi实现,性能也很好,在apache的2.4以后的版本中得到支持。

参考:

php运行方式CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI 


标签: mod PHP CGI FASTCGI php-fpm php cgi fcgid 运行


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持