2016-05-06 6 views
0

思想これは私に適切な頭痛PHP SOFTLAYERオブジェクトストレージのアップロードSSLエラー

を与えているように私は私がSOFTLAYERオブジェクト格納容器にファイルをアップロードPHPアプリケーションを持って、質問をドロップします。オブジェクトコンテナファイルやURLを取得、私は https://github.com/softlayer/softlayer-object-storage-php からPHPバインディングを使用していますオブジェクトストレージAPIと通信するために し、それらを参照し、私のcomposer.jsonファイルから

"softlayer/objectstorage": "dev-master", 

はすべて正常に動作しています。 しかし、ファイルのアップロードには問題がありますが、サイズによっては特に問題があります。それは数日前に働いていたが、いくつかの理由はここ最近

動作を停止し、私はファイルをアップロードするために使用しています「アウトオブボックス」のコードです:アップロード、何らかの理由で

$options = array('adapter' => ObjectStorage_Http_Client::SOCKET, 'timeout' => 10); 
$objStorage = new ObjectStorage('', '', '', $options); 

try { 
    $newFile = $objStorage->with('RemoteFilePath') 
        ->setLocalFile($PathTolocalFile) 
        ->create(); 

    return $newFile->getUrl(); 
} 
catch (Exception $e) { 
    return $e->getMessage(); 
} 

1Mbの下にあるファイルが動作します。しかし、これより大きいサイズの任意のファイルは、 - >例外がスローされない、出て最終的に時間を()要求を作成し、私は私のログにこれらのエラーを取得しておいてください。これらのバインディングは、本質的に、ラッパーのラウンドであるため

xxx.xxx.xxx.xx - [05/06/16 03:47:02] Warning: fwrite(): SSL operation failed with code 1. OpenSSL Error messages: 
error:1409F07F:SSL routines:SSL3_WRITE_PENDING:bad write retry (/var/www/vendor/softlayer/objectstorage/lib/ObjectStorage/Http/Adapter/Socket.php:132) 

私はSoftlayer Storage Containerに1M以上のファイルをアップロードできるかどうかを確認しました。それは、私のdevマシンとステージングサーバーの両方でCURLを使用して成功したことが判明しました!

curl -i -XPUT -H "X-Auth-Token: {{MyAuthToken}}" --data-binary "@BigFile.txt" https://lon02.objectstorage.softlayer.net/v1/{{MyAuthTokenKey}}/{{MyContainer}}/BigFile.txt 

あなたはこれまでに出会ったことがありますか?私はなぜそれが突然動作を停止したのか分かりません。 誰もが考えていますか?私はあなたの問題を再現することができませんでした

答えて

1

を読み取るための

おかげで、私はあなたのコードを使用して、2メガバイトよりも高いファイルをアップロードすることができました。 はとにかく、あなたはSSLに関連している必要があり問題は、/ OpenSSLが壊れて、それに関する情報を入手するためには、以下のリンクを見て取り、それを解決する方法:

関連する問題