【问题标题】:Cant' Upload files to AWS through PHP file uploadCant' 通过 PHP 文件上传将文件上传到 AWS
【发布时间】:2016-05-04 09:22:54
【问题描述】:

我猜这只是 AWS 上的权限问题,但我对 linux 命令不是很精通。

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

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

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

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

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

谁能帮我找到解决办法?

谢谢!

【问题讨论】:

  • 发布更多信息,这太模糊了。

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


【解决方案1】:

使用 PHP 在服务器上上传文件时,您必须授予网络服务器写入权限。

例如,如果您使用的是 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

【讨论】:

  • 我已经尝试了这些命令,但我得到了错误chown: changing ownership of ‘/var/www/html’: Operation not permitted任何想法?
  • 我搞定了,谢谢,这正是我需要的
  • 您必须具有 root 权限才能执行此类操作。您可以使用sudo chown ... 或使用sudo su - 切换到root 帐户,然后更改文件夹的权限
【解决方案2】:

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

1) 您是否安装并启用了某些 FTP 程序,相应地设置用户并授予该用户的目录访问权限。

(因为默认情况下您只有 SFTP 访问实例)

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

【讨论】:

    猜你喜欢
    • 2016-12-14
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多