Symfony 4 中的 Sonata Seo 捆绑包

问题描述 投票:0回答:2

我已经在 Symfony 4 项目中安装了 Sonata Seo Bundle,并且按照 https://sonata-project.org/bundles/seo/2-x/doc/reference/usage.html 中的步骤操作。但是当我启动应用程序时,我遇到了这个致命错误:

The "sonata.seo.page" service or alias has been removed or inlined when the container was compiled. You should either make it public, or stop using the container directly and use dependency injection instead.
sonata symfony4
2个回答
0
投票

我刚刚找到了一个可以很好地使用 Seo Bundle 的解决方案。

只是,在 config/service.yaml 文件中我添加:

sonata.seo.page:
    class: Sonata\SeoBundle\Seo\SeoPage

以前我在同一个文件中有这个:

services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: true

0
投票

您遇到的错误可能是由于 Symfony 容器中服务配置方式的更改所致。要解决此问题,您可以尝试在 Symfony 配置中公开“sonata.seo.page”服务:

在 services.yaml 文件中,在 services 下添加以下内容:

services:
    # ...
    sonata.seo.page:
        public: true

这应该可以使服务可访问并解决问题。更改配置后请记住清除缓存:

php bin/console cache:clear

如果问题仍然存在,请确保您已准确执行所有安装和配置步骤,并且不存在导致此错误的冲突服务。

© www.soinside.com 2019 - 2024. All rights reserved.