本文将详细介绍什么是PHP及集成类型,小编觉得很实用,所以分享给大家参考,希望大家看完本文后能有所收获。
1. CGI
CGI( )通常译为通用网关接口,是HTTP服务器与机器上其他程序进行通信的接口,允许Web服务器在必要时启动额外的程序来处理动态内容。CGI是一种协议,它定义了与CGI程序的通信方式。它接受客户端的HTTP请求,然后建立一个进程来执行CGI程序。客户端的请求被传递给CGI程序,CGI执行后返回结果。
CGI的出现使得网页由静态变为动态,随着网页越来越流行,很多网站都需要动态页面来与访问者交互。随着网络技术的发展,CGI的缺点也越来越突出,每次客户端请求都需要建立和销毁一个进程,由于HTTP需要生成动态页面,系统必须启动一个新的进程来运行CGI程序,不断的fork是一个非常耗时且消耗资源的任务。
二,
众所周知,CGI解释器的重复加载是导致CGI性能不佳的主要原因。如果将CGI解释器保留在内存中并由进程管理器进行调度,则可以提供良好的性能、可扩展性、Fail-Over特性等。
它是一个常驻型CGI,可以一直执行,一旦激活,就不用每次都去fork,还支持分布式计算(这样就可以把PHP程序的解释执行交给PHP服务器单独处理),也就是可以在网站服务器以外的主机上执行,并接受来自其他网站服务器的请求。
1. 在Web启动时加载进程管理器(IIS或ISAPI);
2、进程管理器进行自我初始化,启动多个CGI解释器进程(任务管理器中可见多个php-cgi.exe)并等待来自Web的连接。
3. 当客户端请求到达 Web 时,进程管理器选择并连接到 CGI 解释器。Web 将 CGI 环境变量和标准输入发送给子进程 php-cgi.exe。
4. 子进程处理完毕后,通过同一个连接将标准输出和错误信息返回给 Web。当子进程关闭连接时,请求就处理完毕了。然后子进程等待并处理来自进程管理器(在 中运行)的下一个连接。在普通 CGI 模式下,php-cgi.exe 在此处退出。
三,
在将PHP编译成模块的时候,需要考虑MPM的工作模式。
首先我们需要了解什么是MPM:
MPM:Multi Path(多路径处理模块)用于定义在响应多个用户请求时工作的模型。MPM模式有三种:
(一个请求和一个过程响应);
(一个线程响应一个请求,启动多个进程且每个进程生成多个线程);
事件(一个进程处理多个请求);
作为模块安装的PHP没有独立的进程,它与模块一起启动。
以上三种 MPM 模式中,事件模式占用内存比事件模式小,在高并发下性能更好。而且采用多进程多线程混合模式,即使一个线程挂了,也只影响与该线程同进程的其他线程,不会影响其他进程。但如果大量线程采用 keep-alive 长连接方式,线程就会一直被占用,直到超时,导致高并发场景下没有可用线程。事件模式采用专门的线程来处理这些 keep-alive 线程,较好地解决了这个问题。
关于PHP和集成类型就讲到这里,希望以上内容能够对大家有所帮助,能够学到更多的知识,如果觉得文章不错的话,可以分享出来让更多的人看到。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。