PHP cli 远程调试器问题

PHP cli remote debugger issue

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

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

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

我是不是做错了什么?我尝试了多种方法,但我一直 运行 解决这个问题。

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

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

想法?

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

xdebug.remote_host = 127.0.0.1

应该是您 IDE 运行 所在的主机。

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

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

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

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