Apache的PHP模块启动

2014-11-24 10:14:48 · 作者: · 浏览: 0

首先,了解一下每个Apache模块都会输出一个模块数据结构,其定义结构如下(以PHP模块为例):


STANDARD20_MODULE_STUFF这个宏是必须的,这个宏在经过扩展以后,可以为编译后的模块载入服务器构建提供版本信息,在PHP的模块中,create_php_config函数创建目录配置结构,,merge_php_config合并目录配置结构,php_dir_cmds函数为模块配置相关指令,php_ap2_register_hook 注册模块的钩子程序,对这个结构体会在apache的模块中专门说明,在这里主要关注的是php_ap2_register_hook.这里定义的一些回调方法,会在Apache启动的时候直接调用。


php_ap2_register_hook函数的实现在源码sapi/apache2handler/sapi_apache2.c文件中:


php_apache_server_startup函数也在同一个文件里面实现: