2016-05-03 198 views
1

我想这只是AWS上的一个权限问题,但我对linux命令不太熟练。Cant'通过PHP文件上传将文件上传到AWS

我已经将一个站点从另一台服务器移动到AWS,过了一段时间,除了PHP文件上传以外,一切都运行良好。

我有一个用户区域,用户可以将图片上传到他们的配置文件并执行一些活动,这在以前的服务器中工作正常。

但是在AWS中它并不保存上传的文件。我的代码在我添加到文件上传的每次验证都会返回成功,但文件不会保存在服务器上。

我敢肯定这是一个权限问题,我试着用命令 chown ec2-user /var/www/html 也试图授予权限,以根,但这些都不工作过。

FTP工作正常,只是从用户区域上传的文件不起作用。

有没有人可以帮我找到解决方案?

谢谢!

+0

发布更多信息,这只是太模糊。 – mootmoot

回答

4

当使用PHP上传服务器上的文件时,您必须授予Web服务器写入权限。

如果使用的apache例如,可以运行下面的命令:

chown apache:apache /var/www/html 
chmod 775 /var/www/html 

此外,整个树结构必须至少可读。你应该有这样的事情:

drwxr-xr-x root:root /var 
drwxr-xr-x root:root www 
drwxr-xr-x apache:apache html 
+0

我试过这些命令,我​​得到错误 'chown:更改'/ var/www/html'的所有权:不允许操作' 任何想法? –

+0

我得到它的工作,谢谢,这正是我所需要的 –

+0

您必须有root权限才能执行此操作。你可以使用'sudo chown ...',或者你可以使用'sudo su -'切换到root账户,然后改变文件夹的权限 – toaster

0

在Aws有很多事情,你必须考虑。

1)您是否安装并启用了某个FTP程序,使用户相应地向该用户提供目录访问权限。

(因为默认情况下,你只会有SFTP访问实例)在安全组

2)你允许端口21(FTP)。