调试远程PHP CLI脚本

时间:2011-02-02 15:09:56

标签: eclipse debugging xdebug php

以下是我的情况:

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

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

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

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

服务器运行带有php5-cli的Ubuntu 10.04,带有eclipse的dev机器运行Win7 32bit。

由于

3 个答案:

答案 0 :(得分:4)

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

xdebug's page on setting up remote debugging.

答案 1 :(得分: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)”字段更改为“任何”。

打开Remote System Explorer透视图,选择脚本目录并从中创建项目(右键单击,创建远程项目)。它现在将出现在PHP透视图中。

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

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

答案 2 :(得分:0)

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

的index.php:

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

祝你好运

拉​​斐尔