0
尝试使用PHP SDK v2(PHP 5.5不可用)将7G文件上载到S3。小于5G的文件上传效果很好,但分段上传从未奏效。在上传完成之前,它们总是以无任何信息或错误结束。PHP到AWS S3分段上传总是失败
我有完整的S3访问权限。已经尝试了一堆不同的东西无济于事。
代码是没有什么特别的:
$uploader = UploadBuilder::newInstance()
->setBucket($bucket_nm)
->setKey($key)
->setMinPartSize(100 * 1024 * 1024)
->setConcurrency(1)
->setSource($src_path)
->setClient($s3)
->build();
try {
$uploader->getEventDispatcher()->addListener(
'multipart_upload.after_part_upload',
function($event) {
$msg = $event['state']->count() . ' parts uploaded.';
echo "$msg<br />";
WriteToLog($msg);
}
);
$uploader->upload();
$msg = 'Upload complete.';
} catch (MultipartUploadException $e) {
$uploader->abort();
$msg = 'Upload failed. ' . $e->getMessage() . '.';
}
echo "$msg<br />";
WriteToLog($msg);
执行总是失败默默,绕过'register_shutdown_function'的抓。 似乎是cURL multi的一个问题。通常,执行在上传最后一组部件之前结束。 – beej