RequestTimeTooSkewed error using PHP S3 Class

This is my first PHP project, so I really don't know PHP at all.

What I'm trying to do is upload a file to an S3 bucket using the PHP S3 class. A sample code snippet worked yesterday, but when I started working with it again today, almost the same code stopped working.

Now I just get the following error returned by putObject function:

Warning: S3::putObject(): RequestTimeTooSkewed The difference between the request time and the current time is too large. in /vagrant/LifeInYourWay/S3.php on line 222

I read a few places where server time might cause an error, so I changed my server time to America / New_York, but still get the same thing.

The PHP code I have is:

 if(!class_exists('S3')) require_once('S3.php'); // AWS access if(!defined('awsAccessKey')) define('awsAccessKey', '******'); if(!defined('awsSecretKey')) define('awsSecretKey', '******'); $s3 = new S3(awsAccessKey, awsSecretKey); $imageName = $_FILES['imageFile']['name']; $imageTempName = $_FILES['imageFile']['tmp_name']; $imageLink = $_POST['imageLink']; if(!strlen($imageLink) || $imageLink == 'http://'){ //create a new bucket $s3->putBucket("widget-images", S3::ACL_PUBLIC_READ); //move the file $put = $s3->putObject($s3->inputFile($imageTempName), "widget-images", $imageName, S3::ACL_PUBLIC_READ); if($put){ var_dump($put); $imageUploaded = true; }else{ $imageUploaded = false; } echo($imageUploaded); }else $image = $imageLink; 
+8
php amazon-s3 amazon-web-services
source share
1 answer

Incorrect computer or time zone settings. Since S3 uses the current time to authenticate requests, if your clock is off for more than 15 minutes or if your time zone is incorrect (which causes the clock to skew), your requests will fail.

+16
source share

All Articles