2012-06-08 32 views
2

我想第一次設置s3並嘗試運行PHP sdk附帶的示例文件,該文件創建一個存儲桶並嘗試向其上傳一些演示文件。但是,這是我收到的錯誤:如何獲取Amazon s3 PHP SDK的工作?

The difference between the request time and the current time is too large. 

我對SO,這是因爲亞馬遜通過比較服務器和客戶端之間的時間,即2必須在一個確定有效的請求讀取另一個問題彼此間隔15分鐘。

現在是這個問題。我的筆記本電腦目前的時間是12:30AM June 8, 2012。在我的服務器我創建了一個名爲servertime.php並放置該代碼在該文件中:

<?php 
    print strftime('%c'); 
?> 

,輸出是:

Fri Jun 8 00:31:22 2012 

它看起來像這一天是正確的,但我不知道該怎麼做00:31:22。在任何情況下,如何始終確保客戶端和服務器之間的時間在15分鐘之內。如果我有一位中國用戶希望在我的網站上使用s3作爲cdn上傳文件,該怎麼辦?那麼時差將超過一天。我如何確保所有用戶的時間都在我服務器時間的15分鐘內?如果用戶在美國但是他們機器上的時間配置錯誤會怎麼樣?

基本上如何讓s3桶創建和上傳工作?

回答

5

將您的EC2實例和同一區域內的S3存儲,並確保你的服務器 具有正確的時間:

於Debian/Ubuntu

// install ntp 
apt-get install ntp ntpdate 

的CentOS/Fedora的

// install ntp 
yum install ntp 

// turn on service 
chkconfig ntpd on 

// synchronize system clock with 0.pool.ntp.org server 
ntpdate pool.ntp.org 

// start ntp 
/etc/init.d/ntpd start 

這應該可以解決您的問題。

+0

哇,自動工作,謝謝!在我選擇這個之前,只有一個問題就是答案。現在,「ntp ntpdate」安裝在我的服務器上,這將確保我的所有應用程序的用戶不管來自他們所在的世界的哪個地方,也不管他們的計算機上的時間是否配置錯誤。所有用戶都可以上傳文件到我的s3存儲桶,或者他們中的一些人會遇到時間錯誤嗎? – TK123

+2

是的,任何用戶都可以上傳文件,因爲他們將首先轉移到您的服務器,然後放入S3存儲桶。 – dom