【问题标题】:How can I hide the file path in PHP / Xdebug "var_dump()"如何在 PHP / Xdebug "var_dump()" 中隐藏文件路径
【发布时间】:2018-04-19 19:01:41
【问题描述】:

我正在使用 PhpStorm 和 Xdebug。

当我使用var_dump 之类的东西时,如何隐藏浏览器中显示的这部分内容?

【问题讨论】:

  • 在帖子中包含代码,而不是在屏幕截图中
  • 我很好奇为什么你想要这个。
  • 为什么这很重要?你没有更好的事情要担心吗?例如,“我如何使用调试器”?
  • 你是对的......但只是想知道......因为我在一些教程中没有看到它
  • xdebug.org/docs/display >> overload_var_dump。显然,当该标志设置为 2 时,它会附加文件名和行号。

标签: php xdebug


【解决方案1】:

var_dump() 函数用于检查和调试代码的行为。您看到的是 Xdebug 的版本(您启用了 Xdebug,它重载了默认一个),它也会打印出它的位置。

在开发过程中,查看var_dump() 函数在何时何地准确执行非常有帮助。

如果您担心这是一个安全漏洞,除非您在生产环境中使用 var_dump(),否则很可能不是,因为 它仅适用于开发人员 .如果您的用户看到这个(例如,当您在生产代码中忘记了一些 var_dump() 时),那就太糟糕了。


如果您知道这一点,但仍然在询问如何“隐藏路径”,您可能希望禁用 Xdebug 的 var_dump() 版本 >。您可以在 php.ini 中使用此设置:

[XDebug]
xdebug.overload_var_dump = 0

或者真的只有hide the path 与:

xdebug.overload_var_dump = 1

【讨论】:

  • 当我设置 .. xdebug.overload_var_dump = 1 .. 谢谢你
  • 在 xdebug v3 中,不再支持设置 xdebug.overload_var_dump。您仍然可以使用xdebug.mode=developvar_dump()xdebug_var_dump() 重载。但是,我认为没有办法使用 xdebug_var_dump() 并且不再显示路径。
【解决方案2】:

在 Xdebug 3 上,我还没有找到正式的方法,但我设法使用设置隐藏了文件名:

xdebug.filename_format = " "

(注意设置值是空格,不是空字符串)

附言如果您依赖 xdebug 错误处理程序,使用此设置您可能不会在堆栈跟踪中看到文件名。

【讨论】:

    【解决方案3】:

    在Xdebug3中你需要转正确debug mode

    因此,例如xdebug.mode=off 将关闭file:line 打印。

    【讨论】:

      【解决方案4】:

      如果今天之后有人在寻找像我这样的解决方案,我已经解决了这个问题,将 PHP 设置中的 Xdebug.mode 更改为 OFF。

      【讨论】:

        猜你喜欢
        • 2013-03-03
        • 1970-01-01
        • 1970-01-01
        • 2011-06-22
        • 1970-01-01
        • 1970-01-01
        • 2021-04-25
        • 2022-11-22
        • 1970-01-01
        相关资源
        最近更新 更多