我正在尝试根据条件加载模块。配置中的 {PHPMODULENAME} 被我正在使用的 AMP 服务器替换 - 所以请不要混淆。
<If "'{PHPMODULENAME}' == 'php8_module'">
LoadModule module1 "..."
</If>
<Else>
LoadModule module2 "..."
</Else>
如果条件为真,它应该加载 module1 - 因为只有这样 module1 才可用而 module2 不是。反之亦然。
但是当我尝试启动 Apache 时,它会抛出一个错误,因为缺少 module1 或 module2。我知道这一点 - 这就是我添加 IF 条件的原因。
答案1
Apache httpd 提供了特定的条件来测试模块是否存在:
这< IfModule >
指示:
描述:包含在特定模块存在与否的条件下处理的指令
句法:<IfModule [!]module-file|module-identifier> ... </IfModule>