如何让用户创建文件夹和上传文件,灯权限

如何让用户创建文件夹和上传文件,灯权限

mkdir($folder_path, 0755)在本地主机(MAMP)中使用它可以工作,但是在我转移到 VPS 后我使用 LAMP 它失败了。

文件夹
方向路径是 /var/www/html/assets/images/图像文件夹信息:
所有者:root组
:root
八进制:755
文件夹var,,,wwwhtml相同assets

php信息

apache2handler
Apache 版本 Apache/2.2.15 (CentOS)
服务器管理员 root@localhost
用户/组 apache(48)/48


safe_mode 本地值关闭 主值关闭

我尝试让用户通过以下函数上传文件并创建文件夹
$folder_path = '/var/www/html/backstage/assets/images/0'; if ( mkdir($folder_path, 0755) ) { ...move_uploaded_file();}

如何解决?

(我是否应该更改有关 Linux 使用命令行的权限的任何内容?)任何建议都将受到赞赏,这是我第一次构建服务器。

答案1

您的权限设置不正确。假设所有/var/www/html均由 apache 使用,则您需要将其更改为 apache 所拥有。

sudo chown apache:apache -R /var/www/html

这将使 html 文件夹及其下的所有内容归 apache 所有,并且其组为 apache。

此外,我建议花点时间了解一下 Owner/Group/Other 及其权限的含义。因为您对 root:root 的使用表明缺乏 Linux 操作系统的核心机制。以下是一篇这样的文章:http://linuxcommand.org/lts0070.php

答案2

您必须检查哪个用户运行 apache。这应该绝不是 root!通常是 apache、nobody 或 www-data。当您知道哪个用户运行 apache 时,您必须更改该特定用户可以读取(以及执行和/或写入,如果需要)文件的权限。

那么它可能会像在你的本地主机环境中一样运行

相关内容