PHP运行方式介绍
作者:xuhongji发布时间:2020-07-25分类:php浏览:1653评论:0
CGI 协议模式CGI 的含义是通用网关协议(Common Gateway Interface),它允许 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代码,命令类似下面这样:php xxx.php
注意事项:
在命令行模式下,没有超时时间,也无法通过 set_time_limit 设置超时时间在命令行模式下,默认关闭 buffer 缓冲。
在普通的Web模式中,echo var_dump等输出语句/函数,默认情况下是先进入php缓冲区,等缓冲区到达一定数量,才开始传输给Web服务器。
可以通过ob等系列函数操作缓存区,例如ob_get_contents在php-cli模式下,默认是关闭buffer,直接输出。例如:echo var_dump phpinfo 等输出直接输出到控制台。
- 上一篇:python md5方式加密字符串
- 下一篇:mysql中自动添加mysql从库思路
相关推荐
你 发表评论:
欢迎- php排行
- 标签列表
- 网站分类
- 最近发表
-
- mysql5.6中文乱码[mysql 显示 乱码]
- mysql5.7.32安装配置教程[聊聊MySQL 5.7版本的配置和安装过程]
- html调用js文件中的方法[html js方法调用]
- 如何在Ubuntu上设置MySQL的远程访问
- mysqlworkbench怎么设置中文显示[聊聊常见的mysql workbench设置修改方法]
- 查看mysql表名[mysql怎么查询表名?方法浅析]
- css没有显示[css文字不显示]
- mysql怎么删除所有表的数据记录[mysql怎么删除所有表的数据]
- mysql查询优化的几种方法[mysql优化查询节点]
- jquery设置div高度[jquery 设置子元素的高度]