gpt4 book ai didi

php - 在 Symfony2 中将 VichUploader 与 KnpGaufrette 和 Doctrine 一起使用时的循环引用

转载 作者:搜寻专家 更新时间:2023-10-31 22:01:40 28 4
gpt4 key购买 nike

我尝试在我的 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-edition 的默认设置,版本 2.5.* 没有 AcmeDemo Bundle。

我只是通过 Composer 添加了 Bundles:

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 中添加了以下配置,该配置基于文档 VichUploader with GaufretteKnpGaufrette with Doctrine DBAL :

# ...
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

最佳答案

关于php - 在 Symfony2 中将 VichUploader 与 KnpGaufrette 和 Doctrine 一起使用时的循环引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27920449/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com