2011-10-13 27 views
8

To jest mój pierwszy projekt PHP, więc naprawdę nie znam w ogóle PHP.RequestTimeTooSkewed Błąd przy użyciu klasy PHP S3

Co próbuję zrobić, to przesłać plik do wiadra S3 przy użyciu klasy PHP S3. Przykładowy fragment kodu działał wczoraj, ale kiedy poszedłem do pracy z nim ponownie dzisiaj, prawie ten sam kod przestał działać.

Teraz po prostu pojawia się następujący błąd zwracany przez funkcję putObject:

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

Czytałem kilka miejsc, że czas serwera może być przyczyną błędu więc zmieniłem czas serwera do Ameryki/New_York ale wciąż mam to samo.

kod PHP, który mam jest: zegar lub strefę czasową Ustawienie

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; 

Odpowiedz

16

komputera jest nieprawidłowy. Ponieważ S3 używa aktualnego czasu do uwierzytelnienia żądań, jeśli twój zegar jest wyłączony o więcej niż 15 minut lub jeśli Twoja strefa czasowa jest niepoprawna (co prowadzi do skosu godzin), twoje żądania się nie powiodą.

+0

Dzięki. Zmieniłem strefę czasową, ale nie myślałem, aby spojrzeć na rzeczywisty czas. To było około 18 minut. –

+0

Pracuję nad instalacją MIME lokalnego hosta. Miałem dziś rano pliki do S3, zostawiłem komputer do snu na resztę dnia i zaczęło się to dziać. Ponowne uruchomienie Apache nie działało, ale zrestartował mój komputer. –

Powiązane problemy