不能'通过PHP文件上传将文件上传到AWS

时间:2016-05-03 13:47:01

标签: php amazon-web-services amazon-ec2 upload file-permissions

我想这只是AWS上的权限问题,但我对linux命令并不十分熟练。

我已将网站从其他服务器移至AWS,过了一段时间,除了PHP文件上传外,一切都运行良好。

我有一个用户区,用户可以将图片上传到他们的个人资料并执行一些活动,这在以前的服务器上运行良好。

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

我很确定这是一个权限问题,我已尝试使用该命令 chown ec2-user /var/www/html 并且还尝试授予root权限,但没有一个有效。

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

你们中的任何人都可以帮我找到解决方案吗?

谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:-1)

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

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

(因为默认情况下,您只能对实例进行SFTP访问)

2)您是否在安全组中允许PORT 21(ftp)。