【问题标题】:Linux - Centos : Giving nginx chmod accessLinux - Centos:授予 nginx chmod 访问权限
【发布时间】:2013-06-26 10:56:21
【问题描述】:

好吧,所以我终生无法摆脱这个错误:

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

所以这适用于创建/编辑文件等。一切正常。

我怎样才能让它正常工作?

【问题讨论】:

  • nginx 用户是否创建了这个文件?尝试将文件/文件夹的所有权更改为 nginx 用户和组。 chown nginx:nginx nameoffile

标签: php linux centos fuelphp


【解决方案1】:

因为 nginx 已经创建了一个文件,它必须是所有者。

【讨论】:

    【解决方案2】:

    以 root 身份尝试:

    chown nginx:nginx /your/directory/to/fuel/ -R
    

    另外别忘了在 FuelPHP 目录中运行:

    php oil r install
    

    为了使FuelPHP的必要目录可写

    【讨论】:

      【解决方案3】:

      你正在修改的文件的完整路径是什么?

      例如,如果它:/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

      比较一下

      如果认为某些父目录只是“不能被其他人写”

      【讨论】:

        【解决方案4】:

        PHP 以 www-user(或类似名称)运行 - 检查您的权限。

        【讨论】:

        • 我运行 nginx php-fpm 为:user = nginx group = nginx
        • 尝试运行echo getmyuid();
        • 另外,检查您的中间目录权限blog.yourlabs.org/day/2012/03/13
        • 所以看起来我的 UID 是 500 ...并且 uid=500(myuser) gid=500(myuser).. 所以它以 myuser 而不是 nginx 用户身份运行?
        • exec 将运行一个 shell,这对于这种情况是不准确的。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-04
        • 2018-12-20
        • 2016-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多