3

我尝试在我的 Symfony2 项目中使用以下设置:

问题:当我尝试使用 Gaufrette 存储适配器“doctrine_dbal”时,我收到以下错误:

[Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException]                                                                                                                                                                                                                 
Circular reference detected for service "doctrine.dbal.default_connection", path: "doctrine.orm.default_entity_manager -> doctrine.dbal.default_connection -> vich_uploader.upload_handler -> vich_uploader.storage.gaufrette -> knp_gaufrette.filesystem_map -> gaufrette.storage_fs_filesystem".  

一旦 Symfony 尝试检查配置,问题就会出现,例如在

app/console cache:clear

我该如何解决这个问题?

我的设置

我的项目设置是symfony/framework-standard-editionwith version 2.5.*without AcmeDemo Bundle 的默认设置。

我只是通过 Composer 添加了 Bundle:

composer require knplabs/knp-gaufrette-bundle vich/uploader-bundle

...将它们添加到 AppKernel 的registerBundles()

//...
$bundles = array(
        new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
        new Symfony\Bundle\SecurityBundle\SecurityBundle(),
        new Symfony\Bundle\TwigBundle\TwigBundle(),
        new Symfony\Bundle\MonologBundle\MonologBundle(),
        new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
        new Symfony\Bundle\AsseticBundle\AsseticBundle(),
        new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
        new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
        new AppBundle\AppBundle(),
        new Vich\UploaderBundle\VichUploaderBundle(), //NEW 
        new Knp\Bundle\GaufretteBundle\KnpGaufretteBundle(), //NEW
    );
//...

...并添加了以下配置config.yml,该配置基于带有 Gaufrette 的 VichUploader带有 Doctrine DBAL 的 KnpGaufrette 文档:

# ...
knp_gaufrette:
    stream_wrapper: ~

    adapters:
        storage_adapter:
            doctrine_dbal:
                connection_name: default
                table: data_storage
                columns:
                    key: id
                    content: file
                    mtime: mtime
                    checksum: checksum

    filesystems:
        storage_fs:
            adapter:    storage_adapter



vich_uploader:
    db_driver: orm
    storage:   gaufrette

    mappings:
        storage:
            uri_prefix:         /images/products
            upload_destination: storage_fs
4

1 回答 1

0

这是版本 0.14.0 ( https://github.com/dustin10/VichUploaderBundle/issues/370 ) 中的一个错误,已在此提交中修复: https://github.com/dustin10/VichUploaderBundle/commit/4abf4180afaf318a66d3e34736c5a14aa0883bd3

于 2015-02-17T14:31:22.697 回答