【发布时间】:2018-11-20 01:36:16
【问题描述】:
Amazon EC2、UBUNTU、APACHE 服务器
我使用以下 PHP 代码在 /gallery/ 中创建了一个目录 -
if (!file_exists("./gallery/$id"))
{
mkdir("./gallery/$id", 0744, true);
chown("./gallery/$id",get_current_user());
}
我为/gallery/设置的权限是774。上面的代码没有在gallery里面创建任何子目录。
但是,将权限设置为 777 会创建子目录,但所有者和组更改为 'www-data www-data' - 我希望看到 'ubuntu ubuntu' 因为 get_current_user() 输出 'ubuntu'
谁能给点建议?我需要在 Gallery 中创建子目录,但我不想将 Gallery 的权限设置为 777。
谢谢。
【问题讨论】:
-
get_current_user()返回脚本的所有者,而不是进程的所有者。默认情况下,Apache 在 Ubuntu 上使用www-data-user 运行。尝试将/gallery-文件夹的所有者和组设置为www-data,然后重试。
标签: php file-permissions