Согласно более старым вопросам, таким как используя mod_fcgid вместо mod_php и PHP как CGI или модуль Apache? (и по касательной некоторые Другой вопросы) Я пришел к выводу, что запуск PHP как CGI или FastCGI заставит мои файлы .php запускаться как владелец вместо Apache пользователь (пользователь, который запускает Apache).
В phpinfo();
функция утверждает, что Server API = CGI/FastCGI
Однако, когда я тестирую запущенного пользователя, он все еще Apache т.е. <?php echo exec('whoami'); ?>
возвращается Apache.
Я также пробовал, что Джереми Баус предложил в вопросе, который я упомянул, но PHP whoami
все еще возвращается Apache.
Должен ли тот факт, что «Server API» phpinfo равен «CGI / FastCGI», достаточен для того, чтобы обычные пользователи запускали php-файлы в качестве владельца?
(Означает ли это, что PHP не работает с mod_php?)
Или есть еще какие-то административные задачи, которые нужно выполнить, или что-то, вероятно, неправильно настроено?
IMHO (более свежий и) лучший способ запустить PHP FastCGI - использовать PHP-FPM, что среди множества опций также позволяет использовать разных пользователей для разных веб-сайтов.
Из Официальный сайт:
Возможность запускать воркеры с другим uid / gid / chroot / environment и другим php.ini (заменяет safe_mode)
Но использования FastCGI самого по себе недостаточно, чтобы использовать владельца файла (и не существует такой вещи, как «автоматическое использование владельца файла»: вы должны на самом деле настроить это виртуальный хост за виртуальным хостом (или как хотите).