cURL создает проблемы с Amazon SDK, используя create_object - PullRequest
2 голосов
/ 17 июля 2011

Я пытаюсь загрузить изображение в корзину S3. К сожалению, я получаю странную ошибку и не могу найти ничего в Google.

$s3 = new AmazonS3();
$bucket = 'myBucket';
$fileResource = 'test.JPG';
$response = $s3->create_object($bucket, $filename, array('fileUpload' => $fileResource));
print_r($response);

При выполнении скрипта я получаю следующее сообщение:

Fatal error: Uncaught exception 'RequestCore_Exception' with message 'cURL resource: Resource id #20; cURL error: select/poll returned error (55)' in /home/myproject.com/public_html/aws/lib/requestcore/requestcore.class.php:817 Stack trace: #0 /home/myproject.com/public_html/aws/services/s3.class.php(688): RequestCore->send_request() #1 /home/myproject.com/public_html/aws/services/s3.class.php(1286): AmazonS3->authenticate('myBucket', Array) #2 /home/myproject.com/public_html/myScript.php(16): AmazonS3->create_object('myBucket', NULL, Array) #3 {main} thrown in /home/myproject.com/public_html/aws/lib/requestcore/requestcore.class.php on line 817

Есть идеи? cURL отлично работает в других файлах.

Ответы [ 2 ]

1 голос
/ 20 сентября 2013

Попробуйте

$file_path = 'test.JPG' ;
$file_resource = @fopen($file_path, 'r');

$content_type = CFMimeTypes::get_mimetype('.jpg');

$params = array( 'fileUpload' => $file_resource,
             'contentType' => $content_type); 

$response = $s3->create_object($bucket_name, $object_name, $params );
0 голосов
/ 29 декабря 2011

Я думаю, что эта проблема возникает из-за наличия более старой версии OpenSSL или cURL.Обходной путь, который помог мне разобраться с этой проблемой, заключается в следующем:

$response = $s3->create_object(
    $bucket,
    $filename,
    array(
        'fileUpload' => $fileResource,
        'curlopts' => array(CURLOPT_FORBID_REUSE => true),
    )
 );

Флаг curlopts указывает оболочке curl S3 не использовать повторно какие-либо соединения SSL, которые он создает.Другое возможное решение, через https://forums.aws.amazon.com/thread.jspa?threadID=63918,, предлагает использовать метод disable_ssl (), который для меня не был начальным.

...