2011-10-13 10 views
8

Questo è il mio primo progetto PHP, quindi non conosco affatto PHP.RequestTimeTooSkewed Errore utilizzando PHP S3 Class

Quello che sto cercando di fare è caricare un file su un bucket S3 usando la classe PHP S3. Un frammento di codice di esempio funzionava ieri, ma quando ho iniziato a lavorarci di nuovo oggi, quasi lo stesso codice ha smesso di funzionare.

Ora ho solo il seguente errore restituito dalla funzione 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

Ho letto alcuni luoghi che l'ora del server potrebbe essere la causa l'errore così ho cambiato il mio tempo del server per l'America/New_York ma ancora ottenere la stessa cosa

Il codice PHP che ho è: impostazione dell'orologio o il fuso orario

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; 

risposta

16

Il tuo computer non è corretta. Poiché S3 utilizza l'ora corrente per autenticare le richieste, se il tuo orologio è spento per più di 15 minuti, o se il tuo fuso orario non è corretto (portando così a un disallineamento di ore), le tue richieste falliranno.

+0

Grazie. Ho cambiato il fuso orario, ma non ho pensato di guardare il tempo reale. Erano circa 18 minuti fuori. –

+0

Sto lavorando su un'installazione MAMP localhost. Ho fatto upload su S3 lavorando stamattina, ho messo il mio computer a dormire per il resto della giornata e questo ha avuto inizio. Il riavvio di apache non ha funzionato, ma il riavvio del mio computer lo ha fatto. –