2014-03-03 35 views
0

即時通訊使用symfony2作爲框架形式我的應用程序,我想連接到我的ceph客戶端,因爲它是在API中說(與亞馬遜s3相同)。如何覆蓋Amazon S3客戶端的主機?

composer.json:

"knplabs/knp-gaufrette-bundle": "dev-master",   
    "aws/aws-sdk-php": "*", 
    "amazonwebservices/aws-sdk-for-php": "*" 

使用gaufrette包來管理我的文件系統

我走到這一步,IM是:

config.yml 
    mydrive.aws_s3.client: 
     class: Aws\S3\S3Client 
     factory_class: Aws\S3\S3Client 
     factory_method: 'factory' 
     arguments: 
      - 
       key: %my_drive_s3_key% 
       secret: %my_drive_s3_secret_key% 
       region: %my_drive_s3_region% 
knp_gaufrette: 
    adapters: 
     my_drive_s3_v2: 
      aws_s3: 
       service_id: 'mydrive.aws_s3.client' 
       bucket_name: '%my_drive_s3_bucket_name%' 
       options: 
        create: true 
        directory: '%my_drive_s3_directory%' 
    filesystems: 
     user_fs: 
      adapter: my_drive_s3_v2 
      alias:  my_drive_filesystem 
    stream_wrapper: 
     protocol: data 

所以以下API的,這是我的方式'米連接到亞馬遜s3 serwers 但我不使用亞馬遜s3 serwers即時通訊使用我自己的ceph serwers。 和我的問題是我如何更改在亞馬遜s3客戶端的主機?

現在是這樣的: [curl] 56: Problem (2) in the Chunked-Encoded data [url] https://mybucket.s3.amazonaws.com

,我想這 https://mybucket.s3.amazonaws.comhttps://mybucket.s3.custom.com

這裏是我遵循的API:https://github.com/KnpLabs/KnpGaufretteBundle#awss3

+0

看起來您只使用AWS SDK for PHP 2.x適配器,因此您不需要在composer.json中包含「amazonwebservices/aws-sdk-for-php」。 –

回答

0

嘗試將base_url參數。

config.yml 
    mydrive.aws_s3.client: 
     class: Aws\S3\S3Client 
     factory_class: Aws\S3\S3Client 
     factory_method: 'factory' 
     arguments: 
      - 
       key: %my_drive_s3_key% 
       secret: %my_drive_s3_secret_key% 
       region: %my_drive_s3_region% 
       base_url: https://mybucket.s3.custom.com 

請檢查AWS SDK的PHP用戶指南看到所有的client configuration options的。

相關問題