PHP源码分析-PHP的生命周期

来源:互联网 发布:电气自动化仿真软件 编辑:程序博客网 时间:2024/06/06 01:52
PHP的最多的两种运行模式是WEB模式、CLI模式。
无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。
1、当我们在终端敲入php这个命令的时候,它使用的是CLI。

它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。

2、当使用Apache作为宿主时,当一个请求到来时,PHP会来支持完成这个请求。


main/php.h中定义了以下几个宏

[cpp] view plaincopy
  1. #define PHP_MINIT_FUNCTION      ZEND_MODULE_STARTUP_D  
  2. #define PHP_MSHUTDOWN_FUNCTION  ZEND_MODULE_SHUTDOWN_D  
  3. #define PHP_RINIT_FUNCTION      ZEND_MODULE_ACTIVATE_D  
  4. #define PHP_RSHUTDOWN_FUNCTION  ZEND_MODULE_DEACTIVATE_D  
  5. #define PHP_MINFO_FUNCTION      ZEND_MODULE_INFO_D  
  6. #define PHP_GINIT_FUNCTION      ZEND_GINIT_FUNCTION  
  7. #define PHP_GSHUTDOWN_FUNCTION  ZEND_GSHUTDOWN_FUNCTION  

对应的作用是

[html] view plaincopy
  1. PHP_MINIT_FUNCTION  初始化module时运行  
  2. PHP_MSHUTDOWN_FUNCTION  当module被卸载时运行  
  3. PHP_RINIT_FUNCTION  当一个REQUEST请求初始化时运行  
  4. PHP_RSHUTDOWN_FUNCTION  当一个REQUEST请求结束时运行  
  5. PHP_MINFO_FUNCTION  这个是设置phpinfo中这个模块的信息  
  6. PHP_GINIT_FUNCTION  初始化全局变量时  
  7. PHP_GSHUTDOWN_FUNCTION  释放全局变量时  
0 0