【问题标题】:Debug remote PHP CLI scripts调试远程 PHP CLI 脚本
【发布时间】:2011-06-20 01:12:14
【问题描述】:

这是我的情况:

我正在使用带有 RSE 插件的 Eclipse IDE 在远程服务器上开发 PHP CLI 脚本(允许直接在服务器上编辑文件)。

现在我需要以与 Java 类似的方式调试这些脚本(断点、显示变量内容……)。

我找到了可以完成这项工作的东西:XDebug 和 PDT(Eclipse 插件)。问题是当我尝试启动调试模式时,Eclipse 说本地机器上没有 PHP 调试器。我想它应该安装在服务器机器上。

我想知道是否可以使用 PDT 和 XDebug 来调试远程脚本,如果可以的话,如何配置它们。如果没有,我想知道是否存在其他解决方案。 XDebug 似乎使用 TCP,因此应该可以远程调试。如有必要,我可以更改我的 IDE。

服务器运行 Ubuntu 10.04 和 php5-cli,开发机运行 eclipse 运行 Win7 32bit。

谢谢

【问题讨论】:

  • 如果无法建立直接连接,则可能需要设置 ssh 隧道。 (在 Windows 上通过 putty afaik)
  • 我刚刚删除了不相关的问题。
  • 谢谢。无论如何,它不会在这个问题中得到回答,并且可能会偏离主要问题。

标签: eclipse debugging xdebug php


【解决方案1】:

是的,这是可能的,您需要在远程服务器的 PHP.ini 文件中启用 xdebug 并确保 xdebug 端口(默认 9000)未被任何防火墙阻止。

xdebug's page on setting up remote debugging.

【讨论】:

  • 您好,感谢您的回答。我已经可以配置 Xdebug 并尝试从 Windows 机器访问它。之后,我可以在链接页面上使用 windows 客户端进行测试。然后,我可以使用 eclipse PDT 访问它。其实这只是服务器端的配置问题(我是在apache的php.ini而不是cli php.ini中做的)。
【解决方案2】:

以下是有相同问题的人的完整程序:

首先,按照此网站上的说明安装 RSE:http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.rse.doc.user/gettingstarted/g1installing.html

按照此 HowTo 中的说明在服务器上安装 XDebug: http://ubuntuforums.org/showthread.php?t=525257

在 Eclipse 上安装 PDT 并进行以下更改: - 在 Windows/Preferences 下,进入 PHP/Debug 并将 PHP Debugger 更改为 XDebug - 在 Windows/Preferences 下,进入 PHP/Debug/Installed Debuggers 并配置 XDebug。将“接受远程会话 (JIT)”字段更改为“任何”。

打开远程系统资源管理器透视图,选择您的脚本目录并从中创建一个项目(右键单击,创建远程项目)。它现在将出现在 PHP 透视图中。

让 Eclipse 运行并转到服务器(例如通过 SSH)。运行要调试的脚本。然后 Eclipse 上会出现一个窗口,建议您选择要将运行脚本链接到哪个“本地”(在我们的例子中是通过 RSE 远程)文件。通常,建议的默认脚本应该是正确的,因为它是在服务器上运行的。

您现在应该可以使用 Eclipse 对您的 PHP-CLI 脚本进行可视化调试了!

【讨论】:

    【解决方案3】:

    您想在能够与 CLI 上的脚本交互的同时进行调试,还是只想启动它然后单步执行代码?我想您的问题是指您无法通过 URL 直接访问脚本的问题。如果这是您的问题,那么我想最简单的解决方案是调试需要您的脚本的常用 PHP 网站。然后,您可以首先使用该网站启动 XDebug,然后通过 require/include 语句进入脚本。

    index.php:

    <?php require_once("../../../../../dir1/[...]/cliscript.php");
    

    最好的问候

    拉斐尔

    【讨论】:

    • 好吧,脚本只需要使用一些命令行参数启动,然后我需要在脚本运行时单步执行。你提出的解决方案会有点困难,因为脚本做得不好,不是我做的,也没有评论,不幸的是;(
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 2021-06-14
    • 2011-02-26
    • 2017-03-27
    • 2011-06-17
    • 2011-05-26
    • 2015-08-03
    相关资源
    最近更新 更多