即使我正在运行 Apache itk,IfModule itk.c 也会被忽略

即使我正在运行 Apache itk,IfModule itk.c 也会被忽略

我正在将 itk 作为 Apache MPM 运行。

为了防止将来需要更改 MPM 时出现错误,我设置

    <IfModule itk.c>
        AssignUserID user group
    </IfModule>

但我发现它被忽略了。事实上,如果我添加一个WTF赞并运行,rcapache2 configtest它会返回我Syntax OK

    <IfModule itk.c>
        AssignUserID user group
        WTF ##doesn't throw error
    </IfModule>

顺便说一下,/etc/sysconfig/apache2表演APACHE_MPM="itk"

我如何检查我是否正在运行 itk?

编辑:如果我删除ifmodule并重新启动我得到

Invalid command 'WTF', perhaps misspelled or defined by a module not included in the server configuration 

答案1

IfModule如果在注释掉时抛出错误,那么 Apache 就认为itk.c模块实际上没有被加载(因此它不会解析条件语句的内容)。

但这并不是说itk模块实际上没有被加载。否则,你也可能会抛出异常AssignUserID

这不是我第一次遇到 Apache 误读.c/.h文件并认为模块未加载的情况,但实际上

要知道它实际上正在运行-只需检查您的vhost用户top/ps

例如。ps axu | grep -E '(apache|httpd)'

相关内容