12068


お世話になっております。

<https://github.com/zaru/Cakephp2_AWS_S3_DataSource>  
このプラグインを使用してS3アップにしたいのですが、導入してページを開くと

Error: Class 'Aws\S3\S3Client' not found  
File:
/var/www/html/cakephp/app/Plugin/AmazonWebServices/Model/Datasource/S3.php  
Line: 21

このようなエラーがでてしまいます。

S3のクライアントが認識されていないと思われるのですが、どこに何を記述していいのかわかりません。パケット名は記述したのですが、クライアントとはAWS、S3のどこの部分でしょうか？

use Aws\S3\Enum\CannedAcl;  
use Aws\S3\S3Client;  
use Aws\S3\Exception\S3Exception;  
use Guzzle\Http\EntityBody;

class S3 extends DataSource {  
public $description = 'AmazonWebServices S3 File Controller';  
public $S3 = '';  
public $bucketName = '＊＊＊＊'; //パケット名入力

[code]

        public function __construct($config = array(), $autoConnect = true){
                parent::__construct($config);
                $this->S3 = S3Client::factory($config);
                $this->bucketName = $config['bucket_name'];
        }
    
[/code]


CC BY-SA 3.0
2015-07-06T02:05:58.627
12062
2015-09-04T06:24:08.923
10088
question
cakephp aws
CakePHP2.6でAWSのS3をプラグインを使用して使いたいのですが


このプラグインの動作にはAWS SDKのv2系がインストールされていることが前提のようです。

<https://github.com/aws/aws-sdk-php/tree/2.8>

から、v2系を取得して適切なパスを通すか、

[code]

    composer require aws/aws-sdk-php:"2.*"
    
[/code]

のようにComposerでバージョンを指定してインストールすると良いと思います。

(CakePHP 2系でComposerを利用する方法はGoogle等で検索してみてください。

なお、データソースとして利用することにこだわりが無ければ、AWS SDKのv3系を直接利用するのもありだと思います。


CC BY-SA 3.0
2015-07-06T05:40:25.813
12068
2015-07-06T05:40:25.813
2668
12062
answer