PHP源码分析-PHP的生命周期(2)
}
PHP_MINFO_FUNCTION(test)
{
php_info_print_table_start();//调用php_write输出HTML标签
php_info_print_table_header(2, "module info", "enabled");
php_info_print_table_end();//调用php_write输出HTML标签
/* Remove comments if you have entries in php.ini
DISPLAY_INI_ENTRIES();
*/
}
//定义PHP中可以调用的函数test(),让它在页面里输出minit_time和rinit_time的值
PHP_FUNCTION(test)
{
php_printf("%d<br />",time_of_minit);
php_printf("%d<br />",time_of_rinit);
return;
}
以Apache为例,
如果在多线程的模式下工作:
在这种模式下,只有一个服务器进程在运行着,但会同时运行很多线程,这样可以减少一些资源开销,向Module init和Module shutdown就只需要运行一遍就行了,一些全局变量也只需要初始化一次,因为线程独具的特质,使得各个请求之间方便的共享一些数据成为可能。
多线程工作方式如下图
:
如果在多进程的模式下工作:
minit_time、rinit_time的值每次请求都在变。
每次页面请求结束都会往time_rshutdown.txt、time_mshutdown.txt中写入数据。
下面是多进程工作模式图:
相关新闻>>
- 发表评论
-
- 最新评论 更多>>