【发布时间】:2019-03-03 20:58:07
【问题描述】:
function setUploadAWS($ORIGEM, $DESTINO, $DIR) {
$BUCKET = 'some-bucket';
$ACCESS_KEY = "some-access-key";
$SECRET_KEY = "some-secret-key";
$credentials = new Aws\Credentials\Credentials($ACCESS_KEY, $SECRET_KEY);
try {
$s3 = new S3Client([
'version' => 'latest',
'region' => 'us-east-1',
'credentials' => $credentials
]);
$result = $s3->putObject([
'Bucket' => $BUCKET,
'Key' => $DIR . $DESTINO,
'SourceFile' => $ORIGEM,
]);
} catch (S3Exception $e) {
echo $e->getMessage() . "\n";
}
上传图片的aws代码正在通过localhost上传文件,但无法上传文件到系统。
【问题讨论】:
-
当它不起作用时会发生什么?你得到某种错误吗?您的凭据正确吗?
-
我收到一个 HTTP 错误 500。凭据很好,因为它在本地主机上工作。我使用 CloudBerry Explorer 来检查我上传的文件。
-
错误 500 表示您的网络服务器日志中某处的有用错误。找到他们,你就会得到答案。
-
我设置了一个选项来显示错误:致命错误:未捕获的异常 'Aws\S3\Exception\S3Exception' 并带有消息“在“storage-genesisgroup-dev.s3.us-west-2.amazonaws.com/public/…”上执行“PutObject”时出错; AWS HTTP 错误:创建资源时出错:[message] fopen(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 [file] 这似乎是一个访问错误。
标签: php apache amazon-s3 file-upload localhost