【问题标题】:PHP Debugging, $_SERVER Not all superglobals are shown in debuggerPHP 调试,$_SERVER 并非所有超全局变量都显示在调试器中
【发布时间】:2020-07-13 13:59:10
【问题描述】:

我在 VScode 中使用了一个调试器:名为 PHP Debug 1.13.0。 并在 PC 上安装了 XDebug。 当我打开超全局变量时,我看不到其中许多实际上存在且可打印的变量,例如“$_SERVER['REQUEST_METHOD']”。为什么调试器中没有全部提到?

【问题讨论】:

    标签: php debugging superglobals


    【解决方案1】:

    调试 PHP 代码的最佳方法(假设您没有配置调试器,或者如果您的调试器无法正常工作)是使用 var_dump()。在您的情况下,类似于:

    var_dump($_SERVER['method_name']);
    

    此外,您可以设置一个断点,该断点将使用 die() 终止程序执行,并为您提供所需的所有变量信息:

    die(var_dump($_SERVER['method_name']));
    

    【讨论】:

    • “调试 PHP 代码的最佳方法是使用 var_dump()” - 并非如此。仅当您没有配置真正的调试器(如XDebug),因此您必须依赖调试输出。然而,这里的问题是明确地关于真实调试器的问题。
    • 好点,我根据你的建议编辑了我的答案。
    • @DennisKozevnikoff,感谢您的回答,但是当您使用大量第三方库调试大型应用程序时,使用可以执行代码行的实际调试器确实更方便按行查看所有变量的值。我宁愿有一个这样的,它会显示变量的整个范围。
    猜你喜欢
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    相关资源
    最近更新 更多