博主信息
博文 27
粉丝 16
评论 0
访问量 29643
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP 运行方式详解
CRMEB
原创
937人浏览过


QQ截图20220919171244.png

1、CGI 协议模式 CGI 的含义是通用网关协议(Common Gateway Interface),它允许 web 服务器通过特定的协议与应用程序通信,调用原理如下:用户请求  -> Web 服务器接收请求  -> fork 子进程 调用程序 / 执行程序  -> 程序返回内容 / 程序调用结束  -> Web 服务器接收内容 -> 返回给用户由于每次用户请求都得 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 等输出直接输出到控制台

完整附件:http://github.crmeb.net/u/defu


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学