【发布时间】:2015-01-17 16:22:18
【问题描述】:
编辑:问题已解决(感谢this post)!我只需要安装 curl :
sudo apt-get install php5-curl
我正在开发一种工具,用于从浏览器上传 AWS S3 存储桶中的图像。我正在使用亚马逊提供的PHP SDK。 我尝试了documentation 中提供的代码,但它不适用于我:
use Aws\S3\S3Client;
$bucket = '*** Your Bucket Name ***';
$keyname = '*** Your Object Key ***';
// $filepath should be absolute path to a file on disk
$filepath = '*** Your File Path ***';
// Instantiate the client.
$s3 = S3Client::factory();
// Upload a file.
$result = $s3->putObject(array(
'Bucket' => $bucket,
'Key' => $keyname,
'SourceFile' => $filepath,
'ContentType' => 'text/plain',
'ACL' => 'public-read',
'StorageClass' => 'REDUCED_REDUNDANCY',
'Metadata' => array(
'param1' => 'value 1',
'param2' => 'value 2'
)
));
echo $result['ObjectURL'];
即使我只保留这两行:
use Aws\S3\S3Client;
$s3 = S3Client::factory();
...我收到以下错误:
注意:使用未定义的常量 CURLE_COULDNT_RESOLVE_HOST - 假定 'CURLE_COULDNT_RESOLVE_HOST' 在 phar:///var/www/aws.phar/Aws/S3/S3Client.php 在第 244 行
注意:使用未定义的常量 CURLE_COULDNT_CONNECT - 假定 'CURLE_COULDNT_CONNECT' 在 phar:///var/www/aws.phar/Aws/S3/S3Client.php 在第 244 行
注意:使用未定义的常量 CURLE_PARTIAL_FILE - 假定 phar:///var/www/aws.phar/Aws/S3/S3Client.php 中的“CURLE_PARTIAL_FILE” 在第 244 行
注意:使用未定义的常量 CURLE_WRITE_ERROR - 假定 phar:///var/www/aws.phar/Aws/S3/S3Client.php 中的“CURLE_WRITE_ERROR” 第 244 行
注意:使用未定义的常量 CURLE_READ_ERROR - 假定 phar:///var/www/aws.phar/Aws/S3/S3Client.php 中的“CURLE_READ_ERROR” 第 244 行
注意:使用未定义的常量 CURLE_OPERATION_TIMEOUTED - 假定 'CURLE_OPERATION_TIMEOUTED' 在 phar:///var/www/aws.phar/Aws/S3/S3Client.php 在第 244 行
注意:使用未定义的常量 CURLE_SSL_CONNECT_ERROR - 假定 'CURLE_SSL_CONNECT_ERROR' 在 phar:///var/www/aws.phar/Aws/S3/S3Client.php 在第 244 行
注意:使用未定义的常量 CURLE_HTTP_PORT_FAILED - 假定 'CURLE_HTTP_PORT_FAILED' 在 phar:///var/www/aws.phar/Aws/S3/S3Client.php 在第 244 行
注意:使用未定义的常量 CURLE_GOT_NOTHING - 假定 phar:///var/www/aws.phar/Aws/S3/S3Client.php 中的“CURLE_GOT_NOTHING” 第 244 行
注意:使用未定义的常量 CURLE_SEND_ERROR - 假定 phar:///var/www/aws.phar/Aws/S3/S3Client.php 中的“CURLE_SEND_ERROR” 第 244 行
注意:使用未定义的常量 CURLE_RECV_ERROR - 假定 phar:///var/www/aws.phar/Aws/S3/S3Client.php 中的“CURLE_RECV_ERROR” 第 244 行
致命错误:未捕获的异常 带有消息“PHP cURL”的“Guzzle\Common\Exception\RuntimeException” 必须安装扩展才能使用 Guzzle。在 phar:///var/www/aws.phar/Guzzle/Http/Client.php:72 堆栈跟踪:#0 phar:///var/www/aws.phar/Aws/Common/Client/AbstractClient.php(79): Guzzle\Http\Client->__construct('https://s3.amaz...', 对象(Guzzle\Common\Collection))#1 phar:///var/www/aws.phar/Aws/Common/Client/ClientBuilder.php(249): Aws\Common\Client\AbstractClient->__construct(对象(Aws\Common\Credentials\RefreshableInstanceProfileCredentials), 对象(Aws\S3\S3Signature),对象(Guzzle\Common\Collection))#2 phar:///var/www/aws.phar/Aws/S3/S3Client.php(207): Aws\Common\Client\ClientBuilder->build() #3 /var/www/response.php(30): Aws\S3\S3Client::factory() #4 {main} 投入 phar:///var/www/aws.phar/Guzzle/Http/Client.php 在第 72 行
【问题讨论】:
-
attach a logger 调试电汇。
-
我正在使用 nginx。我在开发过程中切换到 apache,现在出现错误。我编辑了我的消息。
标签: php amazon-web-services amazon-s3 sdk