Решил оставить вопрос, а то у меня голова болит
У меня есть приложение PHP, которое загружает файлы в контейнеры хранилища объектов SoftLayer. Для связи с API Object Storage я использую привязки PHP с https://github.com/softlayer/softlayer-object-storage-php и сослался на них из моего файла composer.json
"softlayer/objectstorage": "dev-master",
Получение файлов контейнеров объектов и URL-адресов работает нормально. Но у меня продолжают возникать проблемы с загрузкой файлов, особенно в зависимости от их размера. Он работал пару дней назад, но по какой-то причине перестал работать недавно
Вот готовый код, который я использую для загрузки файлов:
$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();
}
По какой-то причине загрузка файла размером менее 1 Мб работает. Но любой файл с размером больше этого, запрос ->create() в конечном итоге истекает, исключение не выдается, и я продолжаю получать эту ошибку в своем журнале:
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)
Поскольку эти привязки, по сути, представляют собой круглые завитки-оболочки, я затем протестировал CURL самостоятельно, чтобы посмотреть, смогу ли я загрузить файл размером более 1 МБ в контейнер хранения Softlayer. Оказывается, мне удалось использовать CURL как на моей машине разработки, так и на промежуточном сервере!
curl -i -XPUT -H "X-Auth-Token: {{MyAuthToken}}" --data-binary "@BigFile.txt" https://lon02.objectstorage.softlayer.net/v1/{{MyAuthTokenKey}}/{{MyContainer}}/BigFile.txt
Вы когда-нибудь сталкивались с этим? Я не понимаю, почему он вдруг перестал работать. Кто-нибудь знает?
Спасибо за прочтение