AWS S3与本地项目一起使用但在AWS EC2上没有使用相同的项目(Codeigniter PHP)

时间:2013-09-26 23:45:17

标签: php codeigniter amazon-web-services amazon-s3 amazon-ec2

这个问题让我发疯,当我在本地服务器上测试我的codeigniter应用程序时一切正常然后我将它上传到AWS EC2(Ubuntu服务器)但是当我尝试从AWS EC2上传图像到AWS S3时,我得到了错误500.我使用库https://github.com/psugand/CodeIgniter-S3,有人使用aws s3和aws ec2与codeigniter应用程序,我需要它的建议。

运行此代码时出现错误:

    $this->load->library('s3');
    $this->s3->putObject($this->s3->inputFile($file,false),
                         $Bucket,
                         $name,
                         self::ACL_PUBLIC_READ);

我认为codeigniter没有与AWS S3连接。

谢谢

2 个答案:

答案 0 :(得分:1)

由于权限问题导致所有这一切都发生,请确保服务器中的文件的所有权限必须为755,以便更改必须使用的权限

这是针对单个文件的

chmod 755 ./name/of/file

这是为了更改文件夹中的多个文件或所有文件

chmod 755 -R /folderlocation/andname

如果权限被拒绝,请使用 sudo

答案 1 :(得分:0)

您目前使用S3设置的存储分区策略是什么?您是否正在使用可能与本地环境冲突到云环境的单独IAM帐户(访问密钥,权限等)。

如果您能够(非常)暂时删除安全限制,直到您能够成功连接,您就能确定导致错误的确切原因。然后,您可以提高您个人定义的安全级别并找到问题(我会在Bucket Policies上下注)

如果您已启动进入VPC,您的实例可能也存在可互联网路由的问题,这是AWS内的新环境吗?