【问题标题】:Remote Debugging PHP Command Line Scripts with Zend?用 Zend 远程调试 PHP 命令行脚本?
【发布时间】:2008-08-24 18:14:54
【问题描述】:
我正在使用Zend Studio 在开发服务器上对我的 php 脚本进行远程调试。它适用于 Web 代码,但我可以让它与命令行脚本一起使用吗?
我有几个帮助应用程序可以让我的应用程序运行。通过命令行而不是 Web 浏览器启动远程调试器非常有用,因此我可以测试这些。
我认为这是可能的,因为我认为 Zend 正在使用 xdebug 与 Eclipse 对话。显然,它在请求中添加了一些参数来唤醒 Zend 代码。我猜我需要利用它?
更新
我最终使用 xdebug 和 protoeditor over X 进行调试。
【问题讨论】:
标签:
php
debugging
xdebug
zend-studio
【解决方案2】:
由于这更多地涉及产品支持,因此您最好的选择可能是向支持人员发送电子邮件。我们在上一份工作中购买了 Zend Studio,他们总是能够在几个小时内为我们提供帮助。
不过,请随时发布答案,我相信会有更多的人在寻找它。 :)
【解决方案3】:
有一个调试 php 脚本的选项,
运行->运行方式->php脚本
我相信它也必须在您的项目根目录中。澄清一下,Zend studio 使用他们自己的调试器,而 eclipse pdt 项目您可以选择 Xdebug 或 Zend 的调试器。
【解决方案4】:
尚未尝试,但您可以将 QUERY_STRING 环境变量设置为打开 Zend 调试器的那个。
每个this article。
export QUERY_STRING=start_debug=1&debug_host=<host name or IP of the local machine>&debug_port=<the port that is configured in your ZDE settings>&debug_stop=1
然后运行 CLI 脚本。
【解决方案5】:
远程命令行调试是可以的,我刚试过。
在我的例子中,我使用了 Zend Studio + Zend Debugger。
Zend人的这篇官方文章here会帮助你,这是我用的。它解释了必须进入 shell 命令的所有参数。
确保您在远程服务器上正确设置了 php.ini,并且它允许您的 IP 地址并且它可以工作。
另外,您不需要导出 QUERY_STRING 变量。
你可以这样做:
QUERY_STRING="start_debug=1&debug_host=[127.0.0.1]&no_remote=0&debug_port=10137&debug_stop=0" /path/to/php/binary /your/php/script.php
在 SSH shell 上运行它会点亮您的 Zend Studio。甜蜜!