在将图像上载到S3时遇到内部服务器错误500

Kil*_*Bug 5 php jquery file-upload amazon-s3 amazon-web-services

在将图像上传到S3时我遇到了一个问题.我正在使用S3类和jqueryimageuploader插件.我已经设置了基本的应用程序,它在我的本地机器上运行良好.当我在beanstalk上部署它时,它开始抛出错误.我已经附加了控制台快照.我在这里添加我的代码供参考.在此输入图像描述 这是启动文件index.html -

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>jQuery File Upload Example</title>
</head>
<body>
<input id="fileupload" type="file" name="files[]"   data-url="http://mydomain.elasticbeanstalk.com/server/php/index.php" multiple>
<script src="js/jquery.min.js"></script>
<script src="js/vendor/jquery.ui.widget.js"></script>
<script src="js/jquery.iframe-transport.js"></script>
<script src="js/jquery.fileupload.js"></script>
<script>
$(function () {
$('#fileupload').fileupload({
    dataType: 'json',
    done: function (e, data) {
        $.each(data.result.files, function (index, file) {
            $('<p/>').text(file.name).appendTo(document.body);
        });
    }
});
$('#fileupload').fileupload({
/* ... */
 progressall: function (e, data) {
    var progress = parseInt(data.loaded / data.total * 100, 10);
    $('#progress .bar').css(
        'width',
        progress + '%'
    );
  }
 });
});

</script>
<style>
.bar {
  height: 18px;
  background: green;
}
Run Code Online (Sandbox Code Playgroud)

我的index.php - >这是在文件上传点击时调用的

<?php
 error_reporting(E_ALL | E_STRICT);
 require('UploadHandler.php');
 $upload_handler = new UploadHandler();

?>
Run Code Online (Sandbox Code Playgroud)

uploadHandler.php文件可以在这里找到
我将添加由我修改的部分上传到S3

$bucket = "my bucket nmae";
$s3 = new S3(awsAccessKey, awsSecretKey);
$response = $s3->putObjectFile($file_path,$bucket,$file->name,S3::ACL_PUBLIC_READ);
$thumbResponse = $s3->putObjectFile('files/thumbnail/'.$file->name,$bucket,'images  /'.$file->name,S3::ACL_PUBLIC_READ);
echo $response;
echo $thumbResponse;
if ($response==1) {
 echo 'HERER enter!!';
  } else {
      $file->error = "<strong>Something went wrong while uploading your    file... sorry.</strong>";
 }
Run Code Online (Sandbox Code Playgroud)

我没有上传过的文件和它的作品我的本地机器上的罚款,但没有对beanstalk.Any帮助将是great.Thank大家的关注.

Joh*_*ord 4

HTTP 500 错误意味着您的应用程序中存在需要修复的“错误”(即:这是开发人员的错误,而不是像 404 这样的用户错误)

要准确找出问题所在(老实说,生成 HTTP 500 的原因可能有数千种),您需要查看错误日志文件。如果它使用标准 LAMP 堆栈,您应该能够在此处找到此错误日志:/var/log/apache2/error.log(但可能还有许多其他位置)

我的猜测是您遇到了文件权限问题。我猜测用户对您尝试将图像上传到的文件夹没有写入权限,在这种情况下,您需要使该文件夹可写(在 Linux 中只需键入: sudo chmod -R a+rwX /使/这个/文件夹/东西/可写)。但这只是一个猜测,您需要首先仔细检查您的错误日志文件。