所在的位置: php >> php介绍 >> PHP运行方式介绍

PHP运行方式介绍

北京雀斑医院治疗 http://news.39.net/bjzkhbzy/210818/9329826.html

CGI协议模式CGI的含义是通用网关协议(CommonGatewayInterface),它允许web服务器通过特定的协议与应用程序通信,调用原理如下:用户请求-Web服务器接收请求-fork子进程调用程序/执行程序-程序返回内容/程序调用结束-Web服务器接收内容-返回给用户由于每次用户请求都得fork创建子进程调用应用程序,请求结束后销毁进程,所以性能比较低。Fast-CGI协议模式Fast-CGI是CGI模式的升级版,它像是一个常驻内存的CGI,只要开启后,就可以一直处理请求,不再需要结束进程。调用过程如下:Web服务器Fast-CGI进程管理器初始化-预先fork多个进程用户请求-Web服务器接收请求-Web服务器将请求交给Fast-CGI进程管理器-Fast-CGI进程管理器接收,给其中一个空闲的的Fast-CGI进程处理-处理完成Fast-CGI进程变为空闲状态,等待下次请求-Web服务器接收内容-返回给用户Fast-CGI和CGI都是一种协议,开启的进程是单独实现该协议的进程模块模式Apache+php运行时,默认使用的是模块模式,它把php作为Apache的模块随Apache启动而启动。接收到用请求时,直接通过调用Apache的mod_php模块进行处理。php-cli模式php-cli模式属于命令行模式,该模式不需要借助其他程序,直接在命令行就可以执行php代码,命令类似下面这样:phpxxx.php

注意事项:

在命令行模式下,没有超时时间,也无法通过set_time_limit设置超时时间在命令行模式下,默认关闭buffer缓冲。在普通的Web模式中,echovar_dump等输出语句/函数,默认情况下是先进入php缓冲区,等缓冲区到达一定数量,才开始传输给Web服务器。可以通过ob等系列函数操作缓存区,例如ob_get_contents在php-cli模式下,默认是关闭buffer,直接输出。例如:echovar_dumpphpinfo等输出直接输出到控制台




转载请注明:http://www.aierlanlan.com/rzfs/1583.html

  • 上一篇文章:
  •   
  • 下一篇文章: