02-一次请求的开始与结束 韩国结束与开始 结束与开始图片 结束与开始影音先
程序员文章站
2022-04-21 15:47:46
...
PHP开始执行以后会经过两个主要的阶段:
- 处理请求之前的开始阶段
- 请求之后的结束阶段
开始阶段有两个过程:
第一个过程是模块初始化阶段(MINIT), 在整个SAPI生命周期内(例如Apache启动以后的整个生命周期内或者命令行程序整个执行过程中), 该过程只进行一次。
第二个过程是模块激活阶段(RINIT),该过程发生在请求阶段, 例如通过url请求某个页面,则在每次请求之前都会进行模块激活(RINIT请求开始)。 例如PHP注册了一些扩展模块,则在MINIT阶段会回调所有模块的MINIT函数。 模块在这个阶段可以进行一些初始化工作,例如注册常量,定义模块使用的类等等。
模块在实现时可以通过如下宏来实现这些回调函数:
PHP_MINIT_FUNCTION(myphpextension)
{
// 注册常量或者类等初始化操作
return SUCCESS;
}
请求到达之后PHP初始化执行脚本的基本环境,例如创建一个执行环境,包括保存PHP运行过程中变量名称和值内容的符号表, 以及当前所有的函数以及类等信息的符号表。然后PHP会调用所有模块的RINIT函数, 在这个阶段各个模块也可以执行一些相关的操作,模块的RINIT函数和MINIT回调函数类似:
PHP_RINIT_FUNCTION(myphpextension)
{
// 例如记录请求开始时间
// 随后在请求结束的时候记录结束时间。这样我们就能够记录下处理请求所花费的时间了
return SUCCESS;
}
请求处理完后就进入了结束阶段,一般脚本执行到末尾或者通过调用exit()或die()函数, PHP都将进入结束阶段。和开始阶段对应,结束阶段也分为两个环节,一个在请求结束后停用模块(RSHUWDOWN,对应RINIT), 一个在SAPI生命周期结束(Web服务器退出或者命令行脚本执行完毕退出)时关闭模块(MSHUTDOWN,对应MINIT)。
PHP_RSHUTDOWN_FUNCTION(myphpextension)
{
// 例如记录请求结束时间,并把相应的信息写入到日至文件中。
return SUCCESS;
}
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了02-一次请求的开始与结束,包括了开始与结束,02方面的内容,希望对PHP教程有兴趣的朋友有所帮助。
推荐阅读
-
java获取指定开始时间与结束时间之间的所有日期
-
php求一个网段开始与结束IP地址的方法
-
如何使用PHP获取指定日期所在月的开始日期与结束日期
-
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
-
jqGrid日期格式的判断示例代码(开始日期与结束日期)
-
boostrap的日期选择:datetimepicker 做 开始时间与 结束时间的判断,开始时间小于结束时间
-
cocos2d-x程序的开始与结束流程
-
js判断开始时间与结束时间不大于24小时的解决方案
-
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
-
php求一个网段开始与结束IP地址的方法,phpip_PHP教程