Apache 未以 mpm_itk 用户身份运行

Apache 未以 mpm_itk 用户身份运行

我在 Apache 上加载了 mpm_prefork 和 mpm_itk(在 CentOS 上)。Ahttpd -M | grep mpm显示以下内容:

 mpm_itk_module (shared)
 mpm_prefork_module (shared)

我的虚拟主机配置有以下指令:

# Run as User
<IfModule mpm_itk_module>
    AssignUserId someuser someuser
    php_value session.save_path /home/someuser/session
</IfModule>

httpd -t返回 OK 并且 httpd 服务正常启动,没有任何错误。

但是,当我从 someuser.mydomain.com 运行 phpinfo() 时,我看到以下内容: 在此处输入图片描述

Apache 仍然在主用户和组下继续运行。

我该如何修复/调试?

谢谢。

答案1

phpinfo() 的输出具有误导性。mpm_itk 很可能确实以正确的用户身份执行代码。

如果您在 php 脚本中调用 get_current_user(),您将看到它不是由 apache 执行,而是由脚本的所有者/配置的用户执行。执行 system(id) 调用也是一样。

相关内容