У меня есть mpm_prefork и mpm_itk, загруженные с Apache (в CentOS). А httpd -M | grep mpm
показывает следующее:
mpm_itk_module (shared)
mpm_prefork_module (shared)
В моей конфигурации vhost у меня есть следующие директивы:
# Run as User
<IfModule mpm_itk_module>
AssignUserId someuser someuser
php_value session.save_path /home/someuser/session
</IfModule>
httpd -t
возвращает OK, и службы httpd запускаются нормально, без ошибок.
Однако, когда я запускаю phpinfo () с someuser.mydomain.com, я вижу следующее:
Apache по-прежнему продолжает работать под основным пользователем и группой.
Как исправить / отладить?
Спасибо.
Вывод phpinfo () вводит в заблуждение. Весьма вероятно, что mpm_itk действительно выполняет код от имени нужного пользователя.
Если вы вызовете get_current_user () в своем php-скрипте, вы увидите, что он выполняется не apache, а владельцем скрипта / настроенным пользователем. то же самое для выполнения системного (id) вызова.