PHP SAPI接口
来源:互联网 发布:网络营销软件三尾狐 编辑:程序博客网 时间:2024/06/05 10:11
一般情况下,FastCGI的整个工作流程是这样的:
- Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)
- FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。
- 当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。 Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
- FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时, 请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。
PHP的CGI实现了Fastcgi协议,是一个TCP或UDP协议的服务器接受来自Web服务器的请求, 当启动时创建TCP/UDP协议的服务器的socket监听,并接收相关请求进行处理。随后就进入了PHP的生命周期: 模块初始化,sapi初始化,处理PHP请求,模块关闭,sapi关闭等就构成了整个CGI的生命周期。
static sapi_module_struct cgi_sapi_module = {"cgi-fcgi",/* name */"CGI/FastCGI",/* pretty name */php_cgi_startup,/* startup */php_module_shutdown_wrapper,/* shutdown */sapi_cgi_activate,/* activate */sapi_cgi_deactivate,/* deactivate */sapi_cgi_ub_write,/* unbuffered write */sapi_cgi_flush,/* flush */NULL,/* get uid */sapi_cgi_getenv,/* getenv */php_error,/* error handler */NULL,/* header handler */sapi_cgi_send_headers,/* send headers handler */NULL,/* send header handler */sapi_cgi_read_post,/* read POST data */sapi_cgi_read_cookies,/* read Cookies */sapi_cgi_register_variables,/* register server variables */sapi_cgi_log_message,/* Log message */NULL,/* Get request time */NULL,/* Child terminate */STANDARD_SAPI_MODULE_PROPERTIES};
0 0
- PHP之SAPI接口
- PHP SAPI接口
- PHP内核探索:从SAPI接口开始
- PHP内核探索:从SAPI接口开始
- PHP内核探索:从SAPI接口开始
- PHP SAPI
- php SAPI
- 1.PHP内核探索:从SAPI接口开始
- 1.PHP内核探索:从SAPI接口开始
- SAPI 对象和接口
- PHP内核之SAPI:Apache2 SAPI分析
- PHP SAPI php_getuid() OverloadI
- PHP SAPI---CLI
- PHP SAPI---CLI
- PHP SAPI---CLI
- php CGI SAPI
- 【PHP内核学习】SAPI
- PHP探索之sapi
- Android 音频 OpenSL ES 录音
- Android获取手机设备识别码(IMEI)和手机号码
- 三维物体AABB碰撞检测算法
- hibernate 删除异常:deleted object would be re-saved by cascade (remove deleted object from
- 【Qt编程】基于QWT的曲线绘制及图例显示操作
- PHP SAPI接口
- Ubuntu12.04下OpenVPN安装和客户端配置
- Bootstrap 的清除浮动
- xcopy命令参数介绍
- 数据结构算法应用
- C#+AE实现类似IDentify功能及对高亮显示相
- 第四章Linux多线程简单Demo
- 笔记:Delaunay三角剖分(Delaunay Triangulation)相关知识
- SGU - 117 - Counting (快速幂取模!)