Linux - Centos:如何给nginx赋予chmod访问权限

3

好的,我无论如何都无法摆脱这个错误:

Warning!

ErrorException [ Warning ]: chmod(): Operation not permitted

COREPATH/classes/finder.php @ line 511:

510:    {
511:    chmod($dir.$file, \Config::get('file.chmod.files', 0666));
512:    }

以下是我的权限设置:

(775) : drwxrwxr-x myuser:nginx

群组:

nginx:x:499:myuser,nginx

PHP-FPM配置

user = nginx
group = nginx

这个可以用于创建/编辑文件等,所有这些都正常工作。

如何使其正常工作?


1
Nginx用户创建了这个文件吗?尝试将文件/文件夹的所有权更改为nginx用户和组。chown nginx:nginx nameoffile - Panama Jack
4个回答

2
作为root用户,请尝试执行以下操作:
chown nginx:nginx /your/directory/to/fuel/ -R

同时不要忘记在FuelPHP目录内运行:

php oil r install

为了使FuelPHP必要的目录可写


1
由于nginx创建了一个文件,因此它必须是该文件的所有者。

0

PHP 运行在 www-user(或类似用户)下 - 请检查您的权限是否与其匹配。


我正在运行nginx php-fpm,用户为nginx,组为nginx。 - LukePOLO
尝试运行 echo getmyuid(); - Rob W
此外,还要检查您的中间目录权限 http://blog.yourlabs.org/day/2012/03/13 - Rob W
看起来我的 UID 是 500 ...而 uid=500(myuser) gid=500(myuser).. 所以它是作为 myuser 而不是 nginx 用户运行的? - LukePOLO
exec 会运行一个 shell,但对于这种情况来说并不准确。 - Rob W
我不是百分之百确定那是最好的方法;但我也不知道如何克服这种情况。抱歉! - Rob W

0

你正在对哪个文件进行chmod操作?请提供完整的文件路径。

例如:如果文件路径是:/var/www/website/fuel/app/tmp/myfile.jpeg

请尝试检查以下权限:

ls -la /var/www/website/fuel/app/tmp/myfile.jpeg

ls -la /var/www/website/fuel/app/tmp

ls -la /var/www/website/fuel/app

ls -la /var/www/website/fuel

ls -la /var/www/website

ls -la /var/www

并进行比较。

如果您认为某些父目录不可被其他人写入,请检查其权限。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接