为什么var_dump在PHP7中没有正确格式化?

时间:2018-01-23 17:47:20

标签: php debugging testing formatting

我使用var_dump在本地调试一些PHP脚本,我安装了php 5.6,并且它在所有浏览器上都可以很好地格式化。

array (size=1)
  0 => 
    object(WP_Post)[1173]
      public 'ID' => int 33
      public 'post_author' => string '1' (length=1)
      public 'post_date' => string '2018-01-11 17:26:22' (length=19)
      public 'post_date_gmt' => string '2018-01-11 23:26:22'(length=19)

当我使用php 7将相同的文件上传到生产框时,输出就在那里,但格式消失了!任何理由或线索为什么会发生这种情况?

array(1) { [0]=> object(stdClass)#1162 (3) { ["ID"]=> string(2) "61" ["post_title"]=> str

2 个答案:

答案 0 :(得分:3)

那种“漂亮”的格式可能是因为Xdebug。

但是,您始终可以使用<pre>代码。

<?php
    echo "<pre>";
    var_dump($var);
    echo "</pre>";

不一样,但会有所帮助。

请记住,不应在生产环境中安装/激活Xdebug。

答案 1 :(得分:-1)

XDebug是主要原因!由于我使用的是带有PHP7的Amazon Linux,因此默认情况下不会安装XDebug,因此只要安装XDebug,var_dump就会输出文本的可读版本。