PHP的4种常见操作模式
1、CGI
CGI通用网关接口(Common Gatewag接口),它是一个受欢迎的谈话节目,像连接的程序和Web服务器执行的桥梁,它将接收到的HTML指令执行程序服务器,然后服务器执行程序返回HTML,CGI跨平台性能优异,几乎可以在任何操作系统上的实现。
以CGI方式,我们首先需要激活前连接请求创建一个CGI子进程(用户要求),激活一个CGI程序,然后处理该请求,并在处理完成子过程。这是叉子和执行模式。这么多的连接请求的服务器和CGI程序可以有一个一些CGI过程,反复的过程是CGI的性能低的主要原因。当用户请求一个非常大的数量的要求,大量系统资源,如内存、CPU时间等都会用到,导致低效率。
2、FastCGI
快速CGI是CGI的升级版。FastCGI是一居民(万岁)型CGI。它可以一直执行,也不会花时间去叉一旦activated.php使用PHP-FPM(FastCGI进程管理器)和PHP的FastCGI进程管理器管理的全名。
FastCGI进程管理器(IIS的ISAPI或Apache模块)是Web服务器启动时加载。FastCGI进程管理器初始化,初始化多个CGI解释器进程(可见多个PHP CGI)和等待来自Web服务器的连接。
当客户端请求到达Web服务器,FastCGI进程管理器选择并连接到一个CGI解释器。Web服务器发送的CGI环境变量和标准输入到FastCGI子进程PHP的CGI。
FastCGI子进程完成处理后,将标准输出和错误信息都来自同一个连接返回到Web服务器。当FastCGI子进程关闭连接,完成对请求。FastCGI子进程然后等待和流程下连接FastCGI进程管理器(在Web服务器上运行的CGI)。模式,PHP的CGI来退出。
在这种情况下,你可以想象CGI通常有多慢。每个Web请求PHP必须重新解析php.ini,重装所有的扩展和重新初始化所有的数据结构,使用FastCGI,所有这一切都只有一次,当过程的开始。一个额外的好处是,持续的数据库连接可以工作。
3、apache2handler
PHP被用作Apache模块。系统启动后,Apache服务器进程在内存中生成多个副本,而一旦这些要求的出现,它立即利用这些空闲的子进程来处理,因此没有产生的子进程所造成的延误。这些服务器副本后不要立即处理一个HTTP请求辞职,但呆在电脑等为下一个请求。客户浏览器的请求反应更快和有更高的性能。
4、CLI
CLI是PHP的命令行操作模式。您将经常使用它,但可能不会被注意到(例如:我们经常使用php在Linux下找到PHP,而这些扩展是PHP运行模式)。