php内核探索
春风十里不如你jude
这个作者很懒,什么都没留下…
展开
-
PHP底层探索(一):几种常见的SAPI
SAPI: Server Application Programming Interface 服务器端引用编程端口.即php与其他应用交互的接口.常用的SAPI有:cgi fast-cgi cli apache的DLLCGI’ CGI即通用网关接口(Common Gateway Interface),他是一段程序,通俗的讲CGI就像是一座桥,把网页和web服务器中的执行程序连接起来,CG原创 2016-09-11 20:35:07 · 873 阅读 · 0 评论 -
PHP底层探索(二):一次请求的开始与结束
PHP开始执行以后会经过两个主要阶段: 1.处理请求之前的开始阶段 2.请求之后的结束阶段开始阶段有两个过程: 1)过程是模块初始化阶段(MINIT),在整个SAPI声明周期内,该过程只执行一次. 2)过程是模块激活阶段(RINIT),该过程发生在请求阶段,例如请求某页面,则在每次请求之前都会进行模块激活(RINIT请求开始).例如PHP注册了一些扩展模块,则原创 2016-09-12 08:46:20 · 446 阅读 · 0 评论 -
PHP底层探索(三):一次请求生命周期
我们从未手动开启过PHP的相关进程,它是随着Apache的启动而永兴的.PHP通过mod_php5.so模块和Apache相连(具体说是SAPI) PHP总共有三个模块:内核 zend引擎 扩展层php内核用来处理请求,文件流,错误处理等相关操作;zend引擎(ZE) 用来将资源文件转换成机器语言,然后在虚拟机上运行扩展层是一组函数,类库,和流,php使用它们来进行一些特定的操作;比如原创 2016-09-12 15:34:18 · 681 阅读 · 0 评论 -
PHP底层探索(四):SAPI的生命周期
CLI/CGI模式的PHP属于单进程的SAPI模式。这类的请求在处理一次请求后就关闭。也就是只会经过如下几个环节: 开始 - 请求开始 - 请求关闭 - 结束 SAPI接口实现就完成了其生命周期。 单进程多请求则如下图所示: 多进程的SAPI生命周期 通常PHP是编译为apache的一个模块来处理PHP请求。Apache一般会采用多进程模式, Apache启动后会fork出多个子进程,原创 2016-09-12 16:49:16 · 338 阅读 · 0 评论 -
PHP底层探索(五):Zend引擎简介
Zend引擎是PHP实现的核心,提供了语言实现上的基础设施,比如:PHP语法的实现,脚本的编译运行环境,扩展机制及内存管理等(较知名的还有fackbook的hiphop引擎);Zend引擎是什么?它为什么出现? Zend疫情为php解决了什么?Zend引擎的诞生: PHP的广泛使用,PHP显得力不从心,因为PHP3使用的是边解释边执行的运行方式,运行效率低下,Zend引擎便应运而生了;Zend的特性原创 2016-09-12 17:25:37 · 799 阅读 · 2 评论 -
MarkDown 流程图 Flow 语法
Created with Raphaël 2.1.0index申请检查登录查询本地记录检测状态查询本地结果页End填写个人信息风控审核bid入库登录yesnoyesnoyesnoyes代码st=>start: indexop=>operation: 申请op2=>operation: 结果页op3=>operation: 查询本地i1=>inputoutput: bid入库i2=>inpu原创 2017-09-21 14:51:52 · 15684 阅读 · 1 评论