【问题标题】:Symfony dump server listening, but not hearing when I dumpSymfony 转储服务器正在监听,但在我转储时没有听到
【发布时间】:2019-01-27 03:48:01
【问题描述】:

我不在 Symfony 中工作,而是通过 composer 拉入 symfony/var-dumper 包,当我做一个简单的测试时它工作得很好:

<?php
include 'vendor/autoload.php';
dump('Hello World of Dumping');

我在浏览器中看到输出就好了。

VarDumper 的 Symfony 文档显示有一个“转储服务器”https://symfony.com/doc/current/components/var_dumper.html#the-dump-server,这正是我想要的转储方式。问题是,因为我没有使用 Symfony,所以我正在尽我所能弄清楚如何使用它。我确实拉入了控制台包:

composer require symfony/console --dev

所以,在终端(ubuntu)中,我运行这个命令:

./vendor/bin/var-dump-server

当我这样做时,终端显示:

[OK] 服务器监听 tcp://127.0.0.1:9912

但是当我运行我的测试脚本并进行一些转储时,我在终端中看不到任何东西。没有变化。

即使这不起作用,我真正想做的还是记录到一个文件中。如果我尝试运行命令并指定 HTML 格式和要转储的文件,它会创建文件,但是当我进行转储测试时,文件中没有任何内容:

./vendor/bin/var-dump-server --format=html > dump.html

再次,它只是说服务器正在侦听。

现在,在您查看文档并告诉我我疯了之前,我知道文档将命令显示为:

./bin/console server:dump

但我没有使用 Symfony,而且我假设我必须使用 Symfony 才能使该命令正常工作。我可能是错的......

所以,我正在寻求有关转储服务器问题的帮助。也许转储服务器功能不能在 Symfony 之外使用,但我想知道这是否属实,而且我在文档中没有看到这方面的证据。我希望你能帮忙,因为我不知道还能做什么/尝试。

【问题讨论】:

    标签: symfony symfony4


    【解决方案1】:

    Symfony 文档不完整。即使在高级使用页面上也没有提及它,但需要使用 ServerDumper 类。像这样简单的事情让转储服务器工作:

    <?php
    include 'vendor/autoload.php';
    
    use Symfony\Component\VarDumper\VarDumper;
    use Symfony\Component\VarDumper\Cloner\VarCloner;
    use Symfony\Component\VarDumper\Dumper\ServerDumper;
    
    VarDumper::setHandler(function ($var) {
        $cloner = new VarCloner();
        $dumper = new ServerDumper('tcp://127.0.0.1:9912');     
        $dumper->dump($cloner->cloneVar($var));
    });
    

    【讨论】:

      【解决方案2】:

      为了获得与 laravel 相同的转储数据,您应该安装两个 composer 包作为开发依赖。

      composer require --dev symfony/var-dumper
      composer require --dev symfony/console
      

      在你的控制器内部运行下面的代码

      dump($anyVariable);
      

      然后你会得到如下的转储输出,和 laravel 一样

      【讨论】:

        猜你喜欢
        • 2022-09-23
        • 2022-12-26
        • 2020-08-30
        • 2021-06-11
        • 1970-01-01
        • 1970-01-01
        • 2015-03-09
        • 1970-01-01
        • 2016-02-09
        相关资源
        最近更新 更多