Php 在生产中使用Symfonys转储

Php 在生产中使用Symfonys转储,php,symfony,Php,Symfony,我在我们的一个应用程序中使用了dump功能,我们的客户在开发过程中已经习惯了它(tbh我不知道它在prod中不起作用)。现在,应用程序即将上线,这意味着不再有debug模式,也不再有dump功能 在生产过程中是否有任何方法可以启用dump功能?尽管在生产环境中使用dump() 如果我没有弄错的话,dump()来自DebugBundle,它仅在dev和testenv中启用 public function registerBundles() { $bundles = [ ne

我在我们的一个应用程序中使用了
dump
功能,我们的客户在开发过程中已经习惯了它(tbh我不知道它在prod中不起作用)。现在,应用程序即将上线,这意味着不再有
debug
模式,也不再有
dump
功能


在生产过程中是否有任何方法可以启用
dump
功能?

尽管在生产环境中使用
dump()

如果我没有弄错的话,
dump()
来自
DebugBundle
,它仅在
dev
test
env中启用

public function registerBundles()
{
    $bundles = [
        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 Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
        new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
        new AppBundle\AppBundle(),
    ];
    if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
        $bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
        $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
        $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
        if ('dev' === $this->getEnvironment()) {
            $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
            $bundles[] = new Symfony\Bundle\WebServerBundle\WebServerBundle();
        }
    }
    return $bundles;
}

如上所述,
DebugBundle
仅在前面提到的环境中注册。可能将其移出
if
将允许您在生产中使用
dump()

您确实需要将这一行添加到AppKernel.php中:

$bundles[]=new Symfony\Bundle\DebugBundle\DebugBundle();
但同时将app.php中的布尔值从false更改为true:

$kernel=new-AppKernel('prod',true);//在这里的第二个参数中,true替换false

已针对Symfony 4.4进行测试,并能正常工作。

阅读Symfony文档,了解用于转储()的客户端?那是一种特殊的客户。我想说,这是一个尴尬的习惯。在生产中是行不通的。我建议您使用var\u dump()函数。如果(函数存在('dump'))…创建另一个函数,并声明一个使用
print\u()的
dump()
var\u dump()
或其他内容的
dump()
。另外,还有一些关闭它的方法(可能会话中的管理开关启用了它?)。使用Symfony dump可以生成我在呈现JSON结构时看到的最简单、最人性化的输出。我也很想在制作中看到这个。。。我想现在就试试打印吧。。。