2011-10-13 15 views
8

Bu benim ilk PHP projemdir, bu yüzden PHP'yi hiç bilmiyorum.RequestTimeTooSkewed PHP Kullanarak Hata S3 Sınıfı

Yapmaya çalıştığım, PHP S3 sınıfını kullanarak bir S3 paketine dosya yüklemektir. Dün bir kod parçacığı çalışıyordu, ancak bugün çalışmaya başlamaya gittiğimde neredeyse aynı kod çalışmayı durdurdu.

Şimdi sadece putObject işlevi tarafından döndürülen aşağıdaki hatayı alıyorum: 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

Ben Amerika/New_York benim sunucu saatini değiştirdi böylece sunucu zaman hataya neden olabilecek bazı yerlerde okudum ama hala aynı şeyi al. Ben

PHP kodu:

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; 

cevap

16

Bilgisayarınızın saati veya saat dilimi ayarını yanlıştır. S3, istekleri doğrulamak için şu anki zamanı kullandığı için, saatiniz 15 dakikadan fazla kapalıysa veya saat diliminiz yanlışsa (böylelikle saatlerce çarpışırsa), istekleriniz başarısız olur.

+0

Teşekkürler. Zaman dilimini değiştirdim, ama gerçek zamana bakmayı düşünmedim. Yaklaşık 18 dakika oldu. –

+0

Bir localhost MAMP kurulumundan çalışıyorum. Bu sabah S3'e iş yükledim, bilgisayarımı günün geri kalanında uyumaya koydum ve bu olay başlamış oldu. Apache'nin yeniden başlatılması işe yaramadı, ancak bilgisayarımı yeniden başlattı. –