我在将图像上传到 S3 时遇到问题。我正在使用 S3 类和 jqueryimageuploader 插件。 我已经设置了基本应用程序,它在我的本地机器上运行良好。当我将它部署在 beantalk 上时,它开始抛出错误。我附上了控制台快照。 我在这里添加我的代码以供引用。 这是启动文件 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;
}
我的index.php --> 这个是在文件上传点击时调用的
<?php
error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');
$upload_handler = new UploadHandler();
?>
可以找到uploadHandler.php 文件here
我将添加我修改的部分以上传到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>";
}
我没有上传太大的大文件,它在我的本地机器上工作正常,但在 beantalk 上失败。任何帮助都会很好。谢谢你的关注。
最佳答案
HTTP 500 错误意味着您的应用程序中有一些“错误”需要修复(即:这是开发人员的错误,而不是用户的错误,如 404)
要准确找出问题所在(老实说,生成 HTTP 500 的原因可能有数千种),您需要查看错误日志文件。如果它使用的是标准 LAMP 堆栈,您应该能够在此处找到此错误日志:/var/log/apache2/error.log(但可能还有许多其他位置)
我的猜测是您遇到了文件权限问题。我猜用户没有对您尝试将图像上传到的文件夹的写入权限,在这种情况下,您需要使该文件夹可写(在 Linux 中只需键入:sudo chmod -R a+rwX/制作/这个/文件夹/某物/可写)。但这只是一个猜测,您需要先仔细检查您的错误日志文件。
关于php - 将图像上传到 S3 时遇到内部服务器错误 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17531292/