【问题标题】:Response not returned for specific requests when xdebug runningxdebug 运行时未返回特定请求的响应
【发布时间】:2012-05-18 04:14:20
【问题描述】:

我很肯定这是一个 xdebug 问题而不是 PHPStorm 问题,但要明确一点,我在本地使用 PHPStorm 来调试驻留在远程服务器上的 PHP 代码。我在服务器上设置了 xdebug,并在服务器上的 php.ini 中使用以下配置:

zend_extension=/home/httpd/php_extensions/xdebug-2.1.4/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_connect_back=1
xdebug.idekey=PHPSTORM-XDEBUG

我已将 PHPStorm 设置为我的本地调试器。我在 Chrome 中使用 XDebug Helper 或在 Firefox 中使用简单的 Xdebug 来初始化 xdebug(无论我使用哪个,我的问题都会出现)。一般来说,调试工作正常。我可以设置断点、单步调试代码、查看变量等。

当某些请求从未收到来自服务器的响应时,就会出现问题。服务器只是从不响应,我已经使用 Charles Web 调试代理验证了这一点。这总是发生在相同的特定请求上,并且无论是否设置断点都会发生。没有收到响应的请求都是相似的——它们调用一个 php 脚本,该脚本缩小并连接多个 JavaScript 文件并回显结果。

为了解决问题,我通过将其添加到 php.ini 来启用 xdebug 日志记录:

xdebug.remote_log=/home/httpd/xdebug.log

当我在日志中查找被命中的 php 文件的名称作为这些有问题的请求的端点时,我得到 0 个结果(除非我已明确向该端点添加断点)。当我向该端点(minify.php)添加断点时,我可以在 PHPStorm 中单步执行它,即使通过回显缩小和连接的 JS 代码,它似乎也可以通过代码——但响应仍然从未发送就我的本地机器所知,从服务器获取。

知道这里发生了什么吗?这真的妨碍了我使用 xdebug 的能力。谢谢。

【问题讨论】:

    标签: xdebug phpstorm


    【解决方案1】:

    cookie 可能不会传播到这些请求。我建议你看看你是否可以设置xdebug.remote_autostart,然后它是否会尝试连接?

    【讨论】:

      【解决方案2】:

      感谢您的回复。这不是问题,但它让我进一步挖掘。原来是一个错误,当 php 调用 exit() 时 xdebug 崩溃。使用最新的候选版本修复了此处指定的问题:

      http://bugs.xdebug.org/view.php?id=815

      谢谢!

      【讨论】:

        猜你喜欢
        • 2021-07-08
        • 2020-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多