PHP中mod_php和php-FPM的区别
日期:2020-07-28  浏览:41
      php做为一门web后端开发语言,无论是在网站建设还是b/s架构的系统开发中可以说占据了大半个江山,只所以能有如此大的市场还是因为本身据有上手容易、执行速度快、网上开源源代码多。那下面我们就来说说php的两种模式。

       再介绍模式之前我们来大致说下常见的服务器有哪些?常见的服务器有iis、apache、tomcat、以及当下比较流行的nginx。基本上这几种,与php相结合比较多的还是Apache和Nginx。服务器的工作模式是接受客户端的请求后来执行,然后把静态html返回给客户端,当遇到有php动态代码时就会转发给对应的php解析器,等解析器返回静态代码后再返回给客户端。

mod_php模式
       在Apache服务器中我们用的最多的就是mod_php模式,可以说是黄金搭档。只需要在Apache配置文件中载入此模块即可,所以这种方式就是把php当作Apache的一个子模块来运行,当浏览器访问php文件时,apache就会调用此模块来解析php代码。易于安装和更新也容易配置,缺点是增加了内存的开销且每次修改php.ini配置文件后要重启apache后才能生效。

php-FPM模式
       介绍之前我们得先了解一下CGI(Common Gateway Interface),通俗的来说就是专门用来和web服务器沟通交流的通道,web服务器收到用户请求,就会把请求提交给cgi程序,cgi程序根据请求提交的参数作应处理(解析php),然后输出标准的html语句返回给web服服务器,再返回给客户端,这就是普通cgi的工作原理。cgi是完全独立于服务器的,只做为服务器和php之间的通信通道。但是cgi也有不足之处就是每次请求开始和结束都会启动和退出,这样一来如果有大规模的并发下,会造成资源的浪费和宕机。
       这个时候我们的fastcgi就出来了,它的原理是事先启动好多个cgi模块,等着web请求就直接解析php然后返回,所以现在都是采用fastcgi模式。
       那么php-FPM又是什么呢?全称是(FastCGI Process Manager),它是一个fastcgi的进程管理器,在php5.3以后版本中已经整合到php中了。现如今我们主流的服务器Nginx就是用这种方式执行php代码的,具有占内存少、高并发、且修改php.ini后只需要重启php-FPM即可。要说缺点吧可能是配置起来复杂还没有并大家所熟知。

       总结:两种方式各有千秋,但是如果是高并发网站还是建议用php-FPM模式,在后面我们会介绍两个模式结合apache和nginx的详细配置教程。

新闻分类


扫一扫咨询


扫一扫咨询