入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

关于apache以fastcgi模式运行php的错误理解纠正

创建时间:2015-06-30 投稿人: 浏览次数:1056

1、上篇文章写到,php要以fast-cgi方式在apache下运行,需要借助第三方的模块fcgi.so,默认的情况下是编译到apache中,如同apache以ISAPI模式将php编译成自己的模块,使自己拥有php脚本解析功能。

 2、原先php在5.3版本之前是以CGI模式(每次请求都调用和关闭php解析程序)或者是编译在apache下的ISAPI模式运行,所以需要这个第三方插件来帮助, fcgi.so这个功能模块是一个fastcgi协议的客户端,有了这个模块,如同浏览器跟服务器打交道一样,需要有http协议的客户端(浏览器将请求以http协议格式封装,apache或者nginx有了fcgi模块就能够将数据以fastcgi方式封装给以fastcgi模式运行的php-fpm),就可以访问以fastcgi运行的php服务器端php-fpm(这个在php5.3之后被整合进php源代码包中,不再是第三方补丁)了。

3、因为本身nginx就实现了fastcgi协议,有一个fastcgi的模块,所以在配置nginx的时候,不需要再装什么fcgi.so这样的扩展模块,直接过滤请求给以fast-cgi模式运行php处理程序处理就可以了。


Fast-cgi模式的优缺点:

主要优点在于:

1)已经不是绑定于服务器的某个模块(虽然这样会比较稳定,但是对于高并发的处理性能局限于服务器)

2)fastcgi把动态逻辑的处理从服务器中分离出来, 大负荷的IO处理还是留给宿主服务器, 这样宿主服务器可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态内容占大部分。

缺点:

1)相比编译进服务器程序来说,并不是很稳定

2)如果使用具有调试功能的IDE,fast-cgi管理器会误判为php脚本运行超时



声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。