Intereting Posts
Как отключить php safe_mode для определенного каталога в общедоступной среде хостинга? Как использовать функции файловой системы в PHP, используя строки UTF-8? увеличить производительность PHP-скриптов с интенсивным использованием процессора Минимизировать CSS с помощью preg_replace Используйте глобальные переменные для динамического изменения URL-адреса. Как отправить таблицу / форму с группировкой / идентификатором для последующего получения Почему readfile () действует странно при чтении php-файла, но отлично работает в текстовом файле Разделители каталога PHP, заставляя косую черту; ненавязчивый Почему я не могу выполнять математику в объявлении свойства класса? Paypal: неверная проблема с IPN PHP -> CLI перестала работать Лучший способ узнать, какой php-файл сгенерировал html-строку кода в WordPress Сообщение Android Base64 String to PHP mysqli_insert_id: Что, если кто-то вставляет другую строку непосредственно перед тем, как я позвоню? PHP-анализ xml-файла

Ошибка RequestTimeTooSkewed с использованием PHP S3 Class

Это мой первый проект PHP, поэтому я действительно не знаю PHP вообще.

То, что я пытаюсь сделать, это загрузить файл в ведро S3 с использованием класса PHP S3. Примерный фрагмент кода работал вчера, но когда я снова начал работать с ним сегодня, почти тот же самый код переставал работать.

Теперь я просто получаю следующую ошибку, возвращаемую функцией 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

Я прочитал несколько мест, что время сервера может вызвать ошибку, поэтому я изменил время своего сервера на America / New_York, но все равно получаю то же самое.

Код PHP, который у меня есть:

 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; 

Неправильные настройки часового пояса вашего компьютера или часового пояса. Поскольку S3 использует текущее время для проверки подлинности запросов, если ваши часы выключены более чем на 15 минут или если ваш часовой пояс неверен (что приводит к перекосу часов), ваши запросы будут терпеть неудачу.