我有这段代码:
<?php
require('aws/aws-autoloader.php');
echo "1";
use Aws\S3\S3Client;
echo "2";
$s3Client = S3Client::factory(array(
'key' => 'mykey',
'secret' => 'mysecret',
));
echo "3";
echo "OK!";
?>
在我的机器上输出为“123OK!” (按照预期)将其上传到服务器后我只获得“12”(意味着对象的创建失败了?)
当服务器运行时,我的本地机器正在运行PHP 5.3.27 5.5.5-1chl1~prefined1
更新
我得到的错误:
致命错误:未捕获异常'Guzzle \ Common \ Exception \ RuntimeException',消息'必须安装PHP cURL扩展才能使用Guzzle。'在/var/www/api/1.0/aws/Guzzle/Http/Client.php:70堆栈跟踪:#0 /var/www/api/1.0/aws/Aws/Common/Client/AbstractClient.php(78): Guzzle \ Http \ Client-&gt; __ construct('https://s3.amaz ...',Object(Guzzle \ Common \ Collection))#1
如何在C2上安装linux上的所需内容?
答案 0 :(得分:3)
sudo apt-get install php5-curl
sudo service apache2 restart
答案 1 :(得分:2)
错误消息显示:
必须安装PHP cURL扩展才能使用Guzzle。
所以......你需要安装PHP cURL扩展。
如何在亚马逊上托管的linux上安装它?
这取决于操作系统。在Ubuntu中安装与在Amazon Linux中安装不同。
答案 2 :(得分:0)
尝试这个怎么样:
<?php
require('aws/aws-autoloader.php');
use Aws\Common\Aws;
$aws_access_key = ''; // AWS Access key
$aws_access_security = ''; // AWS Security Key
$aws_default_region = 'ap-southeast-1'; // Your Default Region
$aws_default_scema = 'http'; // Default Protocol Schema
// Instantiate the AWS client with your AWS credentials
$aws = Aws::factory(array(
'key' => $aws_access_key,
'secret' => $aws_access_security,
'region' => $aws_default_region,
'scheme' => $aws_default_scema,
));
// Define S3client Object
$s3Client = $aws->get('s3');
// Test
var_dump($s3Client);
?>
那应该有用。但我认为你应该使用AWS sdk使用的composer方法。
如果您需要指南或脚本来使用s3,您可以在github上使用我的代码:https://github.com/arizawan/aiss3clientphp