【问题标题】:PHP cli remote debugger issuePHP cli远程调试器问题
【发布时间】:2015-04-20 14:42:06
【问题描述】:

我有这个问题:我正在尝试调试通过 CLI 运行的 PHP 脚本(我不关心在 Web 服务器上这样做)远程 - 最好 - 或本地。

我在远程服务器上的 Linux 和我的本地开发机器上使用 xdebug,远程 netbeans/eclipse 或本地 vim 上的 vdebug。

所以我的问题是:远程机器在后台运行 PHP 脚本,因为我们将它们用于系统任务、资源监控等。所以当我尝试调试脚本 A 时(我正在处理),调试器最终会向我显示同时运行的 cron 脚本,这使得我无法处理我当时正在做的事情。

我做错了吗?我尝试了多种方法,但一直遇到这个问题。

我目前的配置是这样的,但我尝试了多种变体。

zend_extension = /usr/lib64/php/modules/xdebug.so
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = 127.0.0.1
xdebug.remote_port = 9000
xdebug.remote_autostart = On

想法?

【问题讨论】:

    标签: php eclipse netbeans xdebug


    【解决方案1】:

    据我了解,您的 IDE 运行在与脚本运行不同的机器上。 在这种情况下,选项

    xdebug.remote_host = 127.0.0.1

    应该是运行 IDE 的主机。

    确保正确配置 idekey 以及 Eclipse 本身。

    还要确保您的配置在 php.ini 中用于 CLI,而不是用于 Apache。

    【讨论】:

    • 是的。我上面显示的配置是我在本地调试的配置。
    • 基本上 xdebug 在远程和本地配置中都“有效”。我不能让它做的是区分我实际希望它调试的脚本和恰好同时执行的任何其他 PHP 脚本。
    • 可能会使用不同的idekey 帮助吗?
    【解决方案2】:

    问题是我设置了 xdebug.remote_autostart。每个启动的 PHP 脚本最终都会通过调试器,无论它是否是我正在处理的。

    xdebug 文档的相关部分是这样的: 从命令行运行脚本时,您需要设置一个环境变量,例如: 导出 XDEBUG_CONFIG="idekey=session_name" php myscript.php

    【讨论】:

      猜你喜欢
      • 2011-06-20
      • 2014-02-06
      • 2012-09-12
      • 2012-12-25
      • 2016-10-16
      • 2011-08-24
      • 2014-02-24
      • 2016-05-21
      • 2019-05-16
      相关资源
      最近更新 更多