使用远程 IDE 在远程服务器上调试 PHP 代码的解决方案

Solution to debug PHP code on remote server, using remote IDE

有一个安装了 XDEBUG 扩展的 IIS 服务器,运行正在运行一个 PHP 应用程序。我无法在此服务器上进行任何更改。有时,这里的开发团队需要在不更改代码的情况下对其进行调试。打个断点一步步执行就可以了

我可以使用 Eclipse 和远程调试在我的计算机上完成。但是我想在 VM 中创建一个 Debian 服务器,让 任何只有浏览器的人都可以轻松地放置断点step调试那个服务器,不需要搭建环境。

我尝试了很多基于 Web 的 IDE(codiad、cloud9 等),但它们不提供 XDEBUG 集成。我可以在自己的服务器上安装任何基于 Web 的 IDE 并提供 PHP 调试吗? 请再看一遍这段话,不要用垃圾邮件回答

或者,我是否可以在服务器端 运行 某些东西,例如 Sublime Editor、Notepad ++ 或其他任何东西,然后在浏览器中 运行 看到它?也许是 Java 小程序。

任何聪明的想法将不胜感激!谢谢!

我是 Cloud9 的创始人,所以请注意极端偏见。

如果你是一个体面的(或更好的)编码员,我有一个解决方案给你。我们已经在 javascript 中实现了 XDebug:https://github.com/ajaxorg/lib-phpdebug。它可能需要一些更新,因为它是为 Node 0.6 编写的。它确实支持最新的 xdebug。

此外,我们刚刚发布了一个 SDK,允许您为 Cloud9 编写插件。在此处查找更多信息:http://cloud9-sdk.readme.io/v0.1/docs/getting-started-with-cloud9-plugins。它允许您在自己的计算机或服务器上安装 Cloud9,您可以在那里开发插件。您还可以通过 c9.io 分发您的插件,并使用 SSH 工作区功能让 Cloud9 通过 SSH 自动连接到您的 VM。

我们刚刚发布了 SDK 的(pre-alpha)版本,并积极支持邮件列表中的少数开发人员:https://groups.google.com/forum/#!forum/cloud9-sdk.

为 Cloud9 实现调试器实际上非常简单。最近有人构建了一个 C++ 调试器,它仍在 PR 中:https://github.com/c9/c9.ide.run.debug/pull/4. You only need to implement one class, the debugger implementation as documented here: https://docs.c9.io/api/#!/api/debugger.implementation。由于已经有 xdebug 协议的实现,将这些东西结合在一起应该只需要几天的工作。

希望对您有所帮助。

我们刚刚发布了对在 Cloud9 中使用 Xdebug 进行调试 PHP 的支持 IDE。

您可以放置​​断点(普通断点或条件断点)、步骤 over/in/out、设置监视表达式、查看调用堆栈以及检查变量和值。还有一个 REPL 模式可以直接评估代码。

可以尝试了,但请确保通过运行以下命令在工作区上安装了正确的依赖项:

$ npm install -g debug
$ sudo apt-get install php5-xdebug

设置你的断点,然后点击运行 > 运行 With > PHP (cli) 启动调试器和 PHP CLI 脚本。

很想听听您的反馈。我们的目标是添加对调试 PHP 网页的支持,并尽快添加 Python。该实现在 GitHub (https://github.com/c9/c9.ide.run.debug.xdebug)

上开源

我还制作了一个 quick demo video 来向您展示它是如何工作的。