如何使用 Apache 和 FastCGI 作为另一个用户运行 PHP 文件?

Jar*_*nen 6 php fastcgi apache-2.2

根据较旧的问题,例如使用 mod_fcgid 而不是 mod_phpPHP 作为 CGI 或 Apache 模块?(和切向一些其它 问题),我来到了一个了解,运行PHP的CGI或FastCGI的将使我的PHP文件跑出作为所有者,而不是Apache的用户(即运行Apache的用户)。

phpinfo();函数指出Server API = CGI/FastCGI

但是,当我测试正在运行的用户时,它仍然是apache ie。<?php echo exec('whoami'); ?>返回apache

我还尝试了Jeremy Bouse在我提到的一个问题中建议的内容,但 PHPwhoami仍然返回apache


phpinfo 的“服务器 API”等于“CGI/FastCGI”这一事实是否足以让普通用户以所有者身份运行 php 文件?

(它甚至表明 PHP 没有与 mod_php 一起运行吗?)

或者是否还有一些管理任务需要完成或可能配置错误?

小智 5

恕我直言,运行 PHP FastCGI 的(最新且)最佳方法是使用PHP-FPM,它在众多选项中还允许对不同的网站使用不同的用户。

来自官方网站

能够启动具有不同 uid/gid/chroot/environment 和不同 php.ini 的工作程序(替换 safe_mode)

但仅使用 FastCGI 本身不足以使用文件的所有者(并且不存在“自动使用文件的所有者”之类的东西:您必须逐个虚拟主机实际配置它(或按照您的意愿)。