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

我在本地主机(MAMP)中使用mkdir($folder_path, 0755)它的工作原理,但移动到VPS后,我使用LAMP失败。


方向path是/var/www/html/assets/images/图像文件夹info:
所有者:根
组:根
八进制:755
文件夹varwwwhtmlassets都相同

的phpinfo

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

核心
safe_mode本地值关主值closures

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

如何解决?

(我应该改变任何关于Linux使用命令行权限?)任何build议将不胜感激,这是我第一次构build服务器..

您的权限设置不正确。 假设所有/var/www/html被apache使用,你需要修改它,所以它被apache所有。

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

这将使HTML文件夹和它下面的所有由Apache和组作为Apache。

此外,我build议花时间阅读所有者/组/其他人及其权限的含义。 由于您对root:root的使用显示缺乏Linux操作系统的核心机制。 这里是一个这样的文章: http : //linuxcommand.org/lts0070.php

你必须检查哪个用户运行Apache。 这不应该是根! 通常它的apache,没有人或万维网数据。 当你知道哪个用户运行apache时,你必须改变这个特定用户可以读取的权限(并且如果需要,执行和/或写入)这些文件。

那么它可能会在你的本地环境中运行