Apache2 mod_define 不起作用

Apache2 mod_define 不起作用

我用过mod_define在我的 Windows 配置中,我已经为 Apache2 使用了很长时间。现在,我想转到 Vagrant/Debian。但是,我在安装了 Apache 2.2.22 的虚拟环境中重现配置时遇到了困难。

我遇到的第一个问题是无法编译文件.so:它一直告诉我未安装必要的库,并拒绝安装它们。我不记得是怎么做到的,但我最终设法编译了。之后,我尝试使用它,但它不起作用,所以我放弃了这个想法大约一个月。

现在,我回来尝试让它工作。 mod_define已安装,并包含在的输出中apache2 -M,如下所示:

define_module (shared)

在我的/etc/apache2/mods-available/define.load我有以下行:

LoadModule define_module      /usr/lib/apache2/modules/mod_define.so

因此,它似乎应该可以工作。但是,当我尝试使用以下命令启动服务器时,apache2ctl start出现以下信息:

apache2: Syntax error on line 47 of /etc/apache2/apache2.conf: Syntax error on line 3 of /etc/apache2/conf.d/gurudev.conf: Include directory '/etc/apache2/$ABC' not found
Action 'start' failed.
The Apache error log may have more information.

/var/log/apache2/error.log不包含任何新条目。我的/etc/apache2/conf.d/gurudev.conf文件如下所示:

Define ABC "/var/www/.config/apache"
Include $ABC/*.conf

看起来$ABC并没有扩展到/var/www/.config/apache

有人遇到过这种情况吗?或者我的mod_define.so坏了?也许有人可以把他们的发给我?

答案1

这似乎只是apache v2.2 指令的一个限制。您可以在许多指令中使用定义的变量,但不能在 中mod_define使用。IncludeInclude

仅供参考,它适用于 apache v2.4 的本机Define指令

相关内容