例外-您请求的服务不存在“ indragunawan.facade.container”

时间:2019-04-15 19:07:32

标签: php symfony

我使用的是“ indragunawan / facade-bundle”软件包,当我在“ dev”环境中使用它时,它对我来说效果很好,但是当我在生产环境中使用它时,它抛出了一个错误:Exception - You have requested a non-existent service "indragunawan.facade.container"

当我测试下面显示的代码时,如果它在“ dev”中,则返回true,而在“ prod”中,则返回false。

/**
 * @author Indra Gunawan <hello@indra.my.id>
 */
final class IndragunawanFacadeBundle extends Bundle
{
    /**
     * {@inheritdoc}
     */
    public function boot()
    {
        parent::boot();
        dump(
            $this->container->has('indragunawan.facade.container')
        );
        die;
        AbstractFacade::setFacadeContainer($this->container->get('indragunawan.facade.container'));
    }

    /**
     * {@inheritdoc}
     */
    public function build(ContainerBuilder $container)
    {
        parent::build($container);

        $container->addCompilerPass(new AddFacadePass());
    }
}

理想情况下, $this->container->get('indragunawan.facade.container')返回ServiceLocator对象。

2 个答案:

答案 0 :(得分:0)

检查捆绑软件是否在PROD环境中或仅在DEV中正确加载。

答案 1 :(得分:0)

解决方案比我预期的简单。我只需要删除整个app/var/cache文件夹,即可再次重新生成文件,而不会出现错误。