在PHP之前运行Apache模块

时间:2012-08-20 16:08:31

标签: php apache apache-modules

我一直在开发Apache模块,我需要在PHP之前运行它。

我尝试使用:

注册处理函数
// Hook the main handler function to run before PHP5
static const char * const aszPos[]={ "mod_php5.c", NULL };
ap_hook_handler(cc_handler, NULL, aszPos, APR_HOOK_FIRST);

...但页面仍然显示“<?php ?>”标记未解析。

我想知道这是否是一个钩子问题,或者如果PHP没有解析它,因为它不能将它识别为PHP URL,但我已经尝试将其称为,例如:

localhost/authCC/?url=http://www.google.pt/&req=name,nic,photo,TaxNo&token=12345

...虽然在'mods-available / php5.conf'上有正确的'LocationMatch'指令,但它仍然无法解析。

还有其他建议吗?

1 个答案:

答案 0 :(得分:0)

假设您使用2.4 - 您的C代码看起来很好(您使用mod_heartbeat作为示例?)。我怀疑PHP不会因为没有理由而触发。如果您移除模块 - 它是否会按照您的预期启动?在什么(MIME,扩展名,位置?)。并且你的模块确实运行了(ap_log是你的朋友)并且它不会改变/取消mod_php依赖的东西(例如mime类型)来解析?

DW传递。