1

我一直在开发一个 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”指令,但它仍然无法解析。

还有其他建议吗?

4

1 回答 1

0

假设您使用的是 2.4 - 您的 C 代码看起来不错(您使用 mod_heartbeat 作为示例?)。我怀疑PHP不会以某种方式触发,因为它认为没有理由。如果您删除模块 - 它会按您的预期启动吗?关于什么(MIME、扩展名、位置?)。而且你的模块确实被运行了(ap_log 是你的朋友)并且它不会改变/取消 mod_php 依赖的东西(例如 mime 类型)来触发?

德。

于 2012-08-20T16:37:21.550 回答