下面是实现Amazon S3删除对象的代码
require_once(APPPATH . 'libraries/aws.phar');
$s3 = S3Client::factory(array(
'key' => S3_KEY,
'secret' => S3_SECRET
));
$s3->deleteMatchingObjects(S3_BUCKET, "abc.mp4");
错误信息是:
Fatal error: Uncaught exception 'Guzzle'Http'Exception'CurlException' with message '[curl] 77: error setting certificate verify locations: CAfile: /tmp/guzzle-cacert.pem CApath: none [url] https://testdomain.s3.amazonaws.com?prefix=abc.mp4' in phar:///home/in001/public_html/yoga/application/libraries/aws.phar/Guzzle/Http/Curl/CurlMulti.php:359 Stack trace: #0 phar:///home/in001/public_html/yoga/application/libraries/aws.phar/Guzzle/Http/Curl/CurlMulti.php(292): Guzzle'Http'Curl'CurlMulti->isCurlException(Object(Guzzle'Http'Message'Request), Object(Guzzle'Http'Curl'CurlHandle), Array) #1 phar:///home/in001/public_html/yoga/application/libraries/aws.phar/Guzzle/Http/Curl/CurlMulti.php(257): Guzzle'Http'Curl'CurlMulti->processResponse(Object(Guzzle'Http'Message'Request), Object(Guzzle'Http'Curl'CurlHandle), Array) #2 phar:///home/in001/public_html/yoga/application/libraries/aws.phar/Guzzle/Http/Curl/CurlMulti.php(240): Guzzle'Http'Curl'CurlMulti->processMessages() #3 phar:///home/in001/public_html/yo in phar:///home/in001/public_html/yoga/application/libraries/aws.phar/Aws/Common/Client/AbstractClient.php on line 258
我在这里遵循了这个例子:
删除Amazon S3中的对象或桶?
和记录的所有参数是正确的,任何想法如何修复它?
谢谢你的帮助
不要使用.phar,而是下载zip文件
https://github.com/aws/aws-sdk-php/releases和要求如下:
require_once(APPPATH . 'libraries/aws/aws-autoloader.php');
修复问题