ITPub博客

首页 > 应用开发 > IT综合 > PHP 运行方式详解

PHP 运行方式详解

原创 IT综合 作者:PHP定制开发 时间:2022-09-19 17:35:21 0 删除 编辑

1、 CGI 协议模式  CGI 的含义是通用网关协议(Common Gateway Interface),它允许 web 服务器通过特定的协议与应用程序通信,调用原理如下: 用户请求   ->   Web 服务器接收请求   ->   fork 子进程 调用程序 / 执行程序   ->   程序返回内容 / 程序调用结束   ->   W eb 服务器接收内容 ->   返回给用户 由于每次用户请求都得 fork 创建子进程调用应用程序,请求结束后销毁进程,所以性能比较低。

2、 Fast-CGI 协议模式  Fast-CGI 是 CGI 模式的升级版,它像是一个常驻内存的 CGI,只要开启后,就可以一直处理请求,不再需要结束进程。调用过程如下: Web 服务器 Fast-CGI 进程管理器初始化  ->   预先 fork 多个进程用户请求  ->   Web 服务器接收请求  -> Web 服务器将请求交给 Fast-CGI 进程管理器  -> Fast-CGI 进程管理器接收,给其中一个空闲的的 Fast-CGI 进程处理  ->  处理完成  Fast-CGI 进程变为空闲状态,等待下次请求  -> Web 服务器接收内容 ->  返回给用户  Fast-CGI 和 CGI 都是一种协议,开启的进程是单独实现该协议的进程

3、 模块模式  Apache + php 运行时,默认使用的是模块模式,它把 php 作为 Apache 的模块随 Apache 启动而启动。接收到用请求时,直接通过调用 Apache 的 mod_php 模块进行处理。

4、 php-cli 模式  php-cli 模式属于命令行模式,该模式不需要借助其他程序,直接在命令行就可以执行 php 代码,命令类似下面这样: php xxx.php

注意事项:

1、在命令行模式下,没有超时时间,也无法通过 set_time_limit

2、设置超时时间 在命令行模式下,默认关闭 buffer 缓冲。在普通的 Web 模式中,echo var_dump 等输出语句 / 函数,默认情况下是先进入 php 缓冲区,等缓冲区到达一定数量,才开始传输给 Web 服务器。可以通过 ob 等系列函数操作缓存区,例如 ob_get_contents

3、 在 php-cli 模式下,默认是关闭 buffer,直接输出。例如:echo var_dump phpinfo 等输出直接输出到控制台


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70021881/viewspace-2915316/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
CRMEB致力于为开发者提供全渠道、多场景电商行业独立软件服务,从新零售社交电商、高性能私域营销电商、品牌连锁智慧零售电商、多业态商家入驻电商到跨境出海电商、在线教育内容付费,构建全领域多渠道线上线下智慧新零售体系。

注册时间:2022-09-08

  • 博文量
    16
  • 访问量
    7391