0

我正在集成OneupFlysystemBundle,我想知道如何在生产服务器上使用我的开发PC上的local适配器和awss3v3OneupFlysystemBundle:如何在dev之间使用不同的适配器。和产品

我已经做到了这一点,但它不工作了(它总是使用本地):

oneup_flysystem: 
    adapters: 
     default_adapter: 
      local: 
       directory: %flysystem.local_adapter.directory% 
      awss3v3: 
       client: flysystem_clients.s3 
       bucket: "%flysystem.s3_client.foo.bucketName%" 
       prefix: "foo/" 


    filesystems: 
     default: 
      adapter: default_adapter 

我认为我可以使它工作使用:

oneup_flysystem: 
    adapters: 
     default_local_adapter: 
      local: 
       directory: %flysystem.local_adapter.directory% 
     default_s3_adapter: 
      awss3v3: 
       client: flysystem_clients.s3 
       bucket: "%flysystem.s3_client.foo.bucketName%" 
       prefix: "foo/" 


    filesystems: 
     default: 
      adapter: "%choosen_adapter%" # choosen_adapter value beeing either "default_local_adapter" or "default_s3_adapter" 

,但我不不喜欢这个解决方案,有没有人有更好的主意?

回答

1

您的最后一个解决方案与Symfony本身允许选择DBMS驱动程序或配置缓存后端非常相似。它看起来不错。

与执行环境相关的设置可以在app/config/parameters.yml(将其中放入choosen_adapter参数)进行配置,其原因在于。

但是,通常会导致怪异行为在开发和生产中使用不同的环境。一些错误可能仅在生产中出现,因为使用S3代替本地FS。

你应该尝试在尽可能接近开发环境的开发环境下工作。 S3很便宜(即使是免费的,你不会存储大量的数据),如果可能的话,你也应该在开发中使用它。

+0

谢谢你,你是对的,我将S3用于我的本地机器。 – Bruno

相关问题