这是我正在使用的简化但准确的代码。
$client = S3Client::factory(array('key'=>$ak,'secret'=>$sk));
foreach(range(1,10) as $i) $temp[] = array('Key'=>$i);
$result = $client->deleteObjects(array('Bucket'=>'bucket','Objects'=>$temp));
return $result;
一切正常,它会根据请求删除对象,但会从phar文件中抛出所有这些错误。在本地运行,如下所示。
Fatal error: Uncaught exception 'Guzzle\Http\Exception\CurlException' with message '[curl] 56: Problem (2) in the Chunked-Encoded data [url] https://bucket.s3.amazonaws.com?delete=' in phar://C:/wamp/www/bucket/local/aws.phar/Aws/Common/Client/AbstractClient.php on line 285
Guzzle\Http\Exception\CurlException: [curl] 56: Problem (2) in the Chunked-Encoded data [url] https://bucket.s3.amazonaws.com?delete= in phar://C:/wamp/www/bucket/local/aws.phar/Guzzle/Http/Curl/CurlMulti.php on line 365
Aws\Common\Exception\TransferException: [curl] 56: Problem (2) in the Chunked-Encoded data [url] https://bucket.s3.amazonaws.com?delete= in phar://C:/wamp/www/bucket/local/aws.phar/Aws/Common/Client/AbstractClient.php on line 285
答案 0 :(得分:2)
我在Windows 7 x64上运行WampServer时遇到此问题。通过愚蠢的运气,我偶然发现了解决方案。
只需将'scheme' => 'http'
添加到出厂配置设置即可开始工作!
答案 1 :(得分:1)
我意识到这一点已经很晚了,但是对此的搜索返回的很少,希望这可能有助于其他人。
我在尝试删除对象,WAMPSERVER(64位和PHP 5.4)2.4,Windows 7 x64时也遇到此错误。我觉得这个版本的WAMP中的Curl扩展有问题。我安装了WAMPSERVER(32BITS& PHP 5.4)2.4并且对deleteObjects没有任何问题。
答案 2 :(得分:0)
可能的解决方案是添加
'curl.options' => array('CURLOPT_HTTP_VERSION'=>'CURL_HTTP_VERSION_1_0')
到S3Client :: factory options。
没有提到卷曲错误,但现在我有时会收到Simple XML错误:“实体:第2行:解析器错误:文档末尾的额外内容”。