我想用FastCGI替换SuPHP。 此前,我拥有不同所有者和组的文件夹。每个组都有www数据作为成员。 当使用浏览器运行任何php文件时,它将作为文件的所有者运行。 因此,如果一个文件被用户A所拥有(A组 - www数据和A的成员),它为用户AApache 2.4与FastCGI php5-fpm在Ubuntu 14.04
shell_exec('whoami') => return A
现在,我安装的FastCGI被执行,并已将其配置为运行PHP文件。
这里是我的PHP5-fpm.conf文件
<IfModule mod_fastcgi.c>
AddHandler php5-fcgi .php
Action php5-fcgi /php5-fcgi
Alias /php5-fcgi /usr/lib/cgi-bin/php5-fcgi
FastCgiExternalServer /usr/lib/cgi-bin/php5-fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization
</IfModule>
我的问题是,现在当我运行这是由A拥有相同的文件,
shell_exec('whoami') => return www-data
我在做什么错?
好吧,所以用fastcgi我不能复制suPHP行为?我所需要的就是作为所有者运行PHP文件(这就是为什么我使用suPHP)。更改apache用户并不能解决我的问题。我需要运行PHP文件不是作为一个用户,每个文件需要作为所有者的用户运行 – 2014-09-05 08:53:42
不,你不能。 suPHP的目的是提供这样的行为,这很不寻常。如果需要,您应该继续使用suPHP。 – baldrs 2014-09-05 09:15:06
噢好吧,但我发现这个线程http://www.fastcgi.com/archives/fastcgi-developers/2011-May/000717.html谈到了完全相同的事情,这家伙能够解决它。虽然我不确定! – 2014-09-05 10:09:00