Intereting Posts
Невозможно следить за местоположением (URL) с помощью cURL, когда установлен параметр open_basedir – ошибка обратного вызова API как конвертировать www.example.com/posts/123 в example.com/posts/123? Статус 21002 При проверке получения транзакции Загрузка изображений с использованием php, но без обновления страницы Как включить Sqlite3 в OS X 10.5.8 с PHP? php_excel07- как исправить min heigth и mak для роста высоты на основе содержимого ячейки как открыть защищенный pdf с помощью PHP-скрипта phpdoc: Каков правильный способ документирования константы PHP: преобразовать специфические боснийские символы в не-боснийские (стандартные символы utf8) PHP – не может использовать скаляр как предупреждение массива Twig без использования Symfony Автозагрузчик Composer vs Symfony 2 Создайте подпапку с помощью google-drive-api и верните идентификатор с помощью PHP Обработка цикла while и группировка значений PHP MYSQL PHP Неустранимая ошибка: не удается наследовать абстрактную функцию

Amazon S3 на PHP GAE не работает с расширением curl

Может ли кто-нибудь помочь мне разобраться, как заставить S3 работать с моим движком PHP-приложений ( runtime: php55 )?

Я где-то видел, что вы можете использовать его без CURL и найти StreamWrapper, но продолжать получать ошибки.

 Use of undefined constant CURLE_COULDNT_RESOLVE_HOST Use of undefined constant CURLE_COULDNT_CONNECT Use of undefined constant CURLE_PARTIAL_FILE etc.. 

Вот мой код:

 use Aws\S3\S3Client; use Aws\S3\Exception\S3Exception; // Instantiate an S3 client $s3 = S3Client::factory(array('key' => 'KEY','secret' => 'SECRET')); $s3->registerStreamWrapper(); // don't use curl //AMAZON S3 BACKUP// $document_data = "123456"; $s3_object_url = "s3://bucket/folder/file.txt"; $s3_options = stream_context_create(['s3'=>['ACL'=>'bucket-owner-full-control', 'ServerSideEncryption' => 'AES256']]); $s3_file = fopen($s3_object_url, 'w', false, $s3_options); fwrite($s3_file, $document_data); fclose($s3_file); 

Ошибка при использовании curl lite:

 PHP Fatal error: Uncaught exception 'google\appengine\runtime\CurlLiteMethodNotSupportedException' with message 'curl_multi_init' in /base/data/home/runtimes/php/sdk/google/appengine/runtime/CurlLiteStub.php:1391 Stack trace: #0 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMulti.php(50): curl_multi_init() #1 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php(128): Guzzle\Http\Curl\CurlMulti->__construct(1) #2 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Curl/CurlMultiProxy.php(87): Guzzle\Http\Curl\CurlMultiProxy->getAvailableHandle() #3 /base/data/home/apps/.../vendor/guzzle/guzzle/src/Guzzle/Http/Client.php(284): Guzzle\Http\Curl\CurlMultiProxy->send() #4 /base/data/home/apps/.../vendor/aws/aws-sdk-php/src/Aws/Common/Client/AbstractClient.php(256): Guzzle\Http\Client->send(Ob in /base/data/home/runtimes/php/sdk/google/appengine/runtime/CurlLiteStub.php on line 1391 

Ошибка при использовании extension = "curl.so" в php.ini

15: 09: 52.614 Возникла проблема с процессом, который обрабатывал этот запрос, заставляя его выйти. Вероятно, это приведет к тому, что новый процесс будет использоваться для следующего запроса вашего приложения. (Код ошибки 204)

РЕДАКТИРОВАТЬ:

Похоже, что «жужжание» требует завитка, поэтому я включил extension = "curl.so" в моем php.ini, и он отлично работает в моем локальном разработчике без ошибок. Но не тогда, когда я загружаю его в приложение.

curl требует сокетов, которые доступны только для приложений с поддержкой счета ( https://cloud.google.com/appengine/docs/php/sockets/ ). Вы также можете рассмотреть «curl lite»: https://cloud.google.com/appengine/docs/php/config/php_ini#GAE_directives

Несмотря на то, что GAE поддерживает «cURL» – это всего лишь оболочка, поэтому некоторые функции еще не реализованы – в частности, вся вещь multi_curl_* .

Не нашли способ деактивировать его – но из SDK v3 cURL больше не требуется – так что вы можете попробовать.