日期: 2021年3月12日

  • 在存储中,新建目录与创建文件时,同时使用 root 与 nginx 用户时,报错:fopen(/webtv/wangjie/ccp_api/images/2021/03/08/1615170408.5917.1243625051.png): failed to open stream: Permission denied

    在存储中,新建目录与创建文件时,同时使用 root 与 nginx 用户时,报错:fopen(/webtv/wangjie/ccp_api/images/2021/03/08/1615170408.5917.1243625051.png): failed to open stream: Permission denied

    1、在运行命令行脚本时,使用 root 用户创建目录:/webtv/wangjie/ccp_api/images/2021/03/08,创建文件:1615170036.5115.2027450777.png。目录的所有者与所属的组皆为 root。如图1
    在运行命令行脚本时,使用 root 用户创建目录:/webtv/wangjie/ccp_api/images/2021/03/08,创建文件:1615170036.5115.2027450777.png。目录的所有者与所属的组皆为 root。
    图1
    2、在运行 HTTP 接口时,使用 nginx 用户在目录:/webtv/wangjie/ccp_api/images/2021/03/08 下创建文件:1615170408.5917.1243625051.png。报错:fopen(/webtv/wangjie/ccp_api/images/2021/03/08/1615170408.5917.1243625051.png): failed to open stream: Permission denied。如图2
    在运行 HTTP 接口时,使用 nginx 用户在目录:/webtv/wangjie/ccp_api/images/2021/03/08 下创建文件:1615170408.5917.1243625051.png。报错:fopen(/webtv/wangjie/ccp_api/images/2021/03/08/1615170408.5917.1243625051.png): failed to open stream: Permission denied。
    图2
    3、最终决定在创建目录后,将目录的所有者与所属的组修改为 nginx。如图3
    最终决定在创建目录后,将目录的所有者与所属的组修改为 nginx。
    图3
    
    
        // return chmod($path, $mode);
        @chmod($path, $mode);
        $user = 'nginx';
        @chown($path, $user);
        @chgrp($path, $user);
        return true;
    
    
    
    4、删除目录:/webtv/wangjie/ccp_api/images/2021/03/08。在运行命令行脚本时,使用 root 用户创建目录:/webtv/wangjie/ccp_api/images/2021/03/08,创建文件:1615173793.3843.742805318.png。目录的所有者与所属的组皆为 nginx。符合预期。如图4
    删除目录:/webtv/wangjie/ccp_api/images/2021/03/08。在运行命令行脚本时,使用 root 用户创建目录:/webtv/wangjie/ccp_api/images/2021/03/08,创建文件:1615173793.3843.742805318.png。目录的所有者与所属的组皆为 nginx。符合预期。
    图4
    5、在运行 HTTP 接口时,使用 nginx 用户在目录:/webtv/wangjie/ccp_api/images/2021/03/08 下创建文件:1615173932.3359.493433255.png 成功。符合预期。如图5
    在运行 HTTP 接口时,使用 nginx 用户在目录:/webtv/wangjie/ccp_api/images/2021/03/08 下创建文件:1615173932.3359.493433255.png 成功。符合预期。
    图5
    6、在运行 HTTP 接口时,使用 nginx 用户创建目录:/webtv/wangjie/ccp_api/images/2021/03/10,创建文件:1615340979.3862.490335317.png。目录的所有者与所属的组皆为 nginx。符合预期。如图6
    在运行 HTTP 接口时,使用 nginx 用户创建目录:/webtv/wangjie/ccp_api/images/2021/03/10,创建文件:1615340979.3862.490335317.png。目录的所有者与所属的组皆为 nginx。符合预期。
    图6
    7、在运行命令行脚本时,使用 root 用户在目录:/webtv/wangjie/ccp_api/images/2021/03/10 下创建文件:1615341025.4625.492305521.png 成功。符合预期。如图7
    在运行命令行脚本时,使用 root 用户在目录:/webtv/wangjie/ccp_api/images/2021/03/10 下创建文件:1615341025.4625.492305521.png 成功。符合预期。
    图7