While attempting to upload some large files (>2GB) to S3 yesterday, I ran across this error (on both sdk 1.2.3 and 1.3.2):
php s3-upload.php Uploading file: myfile.bak PHP Fatal error: Uncaught exception 'RequestCore_Exception' with message 'The stream size for the streaming upload cannot be determined.' in /home/josh/aws/sdk-1.2.3/lib/requestcore/requestcore.class.php:771 Stack trace: #0 /home/josh/aws/sdk-1.2.3/services/s3.class.php(722): RequestCore->prep_request() #1 /home/josh/aws/sdk-1.2.3/services/s3.class.php(1342): AmazonS3->authenticate('db-backup-resto...', Array) #2 /home/josh/aws/bin/s3-upload.php(73): AmazonS3->create_object('db-backup-resto...', 'myfile.bak', Array) #3 {main} thrown in /home/josh/aws/sdk-1.2.3/lib/requestcore/requestcore.class.php on line 771
I started to troubleshoot the error but as I had already successfully uploaded another smaller file, I suspected it was a problem with the size of the file I was uploading so I searched the AWS forums first. I found that there is a problem with uploading files greater than 2GB from a 32 bit machine due to the fact that fstat() and filesize() return the file size as 32-bit signed integer.
The fix is to use a 64 bit machine and perform the upload.
Leave a Reply