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

本文详细解析了PHP的运行模式,包括WEB模式和CLI模式,并阐述了PHP宏在不同场景下的具体作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

PHP的最多的两种运行模式是WEB模式、CLI模式。
无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。
1、当我们在终端敲入php这个命令的时候,它使用的是CLI。

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

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


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

[cpp]  view plain copy
  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 plain copy
  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  释放全局变量时  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值