2016-08-26 1 views
1

Je tente de connecter un script PHP exécuté sur ma machine locale à un espace de stockage Swisscom S3. Le script fonctionne bien avec le service S3 d'Amazon.Accès au service Swisscom S3 avec AWS PHP SDK

Je me connecte comme ceci:

static::$s3->client = \Aws\S3\S3Client::factory(array(
    'credentials' => array(
     'key'  => ['s3_aws_key'], 
     'secret' => ['s3_aws_secret'], 
    ), 
    'region'  => ['s3_aws_region'], 
    'endpoint' => ['s3_aws_endpoint'], 
    'version'  => "2006-03-01", 
    'signature' => "v2" 
)); 

Je reçois des exceptions suivantes:

Sur OSX 10.11.5, PHP 5.5.34 et libcurl/7.43.0

"type": "Aws\\S3\\Exception\\S3Exception", 
"code": 0, 
"message": "Error executing "PutObject" on "https://ds31s3.swisscom.com/***/***/***.jpg"; AWS HTTP error: cURL error 56: SSLRead() return error -9806 (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)" 

Sur une instance Amazon EC2, l'exception est différente:

"type": "Aws\\S3\\Exception\\S3Exception", 
"code": 0, 
"message": "Error executing "PutObject" on "https://ds31s3.swisscom.com/***/***/***.jpg"; AWS HTTP error: cURL error 56: TCP connection reset by peer (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)" 

Un indice dans quelle direction je devrais regarder? Comme je l'ai dit, exécuter le script avec Amazon fonctionne parfaitement.

Répondre

0

Ok - trouvé:

Déclassement le SDK de 3.1.x à 2.8.x a résolu le problème.