使用xdebug,netbeans和已安装的远程服务器进行调试

时间:2010-01-20 11:46:30

标签: php debugging netbeans xdebug

我使用Netbeans在Windows机器上开发,我正在编辑的文件位于远程LAMP服务器上。文档根目录作为驱动器号(Y :)安装在我的Windows机器上。因此,netbeans我正在本地开发的东西,而我实际上是在本地安装上远程开发。

当我想使用xdebug和netbeans来调试CLI PHP脚本时,我的问题就出现了。调试基于浏览器的东西是相当简单的,但调试CLI的东西有点复杂,我不知道我知道如何让它工作。

第一个问题是,Netbeans想知道php5解释器的位置,但我无法告诉它,因为它位于远程服务器上......

有没有人有这方面的经验?

谢谢,

麦克

5 个答案:

答案 0 :(得分:2)

当我添加路径映射到我的项目时(在项目选项卡下|右键单击项目|属性|运行配置|高级按钮),关键的Netbeans PHP调试突破为我而来,以便我的项目知道如何关联服务器源本地路径的代码路径(Windows驱动器盘符路径)。

示例路径图:

/ home / myusername / sourcedir映射到x:\ sourcedir

我相信我使用与你类似的配置(LAMP服务器,带有来自LAMP机器的源的Windows机器在Windows映射驱动器下本地显示)。这对我有用。

我一直在尝试将项目的网址(http://server/projectroot)作为路径映射。那不是我们需要的。需要服务器上的实际路径(即我的主目录及以下)。

答案 1 :(得分:2)

Pada意思是:xdebug.remote_connect_back,而不是xdebug.remote_enable。您必须设置它们,以便Xdebug自动连接回Netbeans(或任何调试器)。

答案 2 :(得分:1)

xdebug.remote_host变量是指xdebug应连接的主机。您可以使用NetBeans在远程服务器上调试PHP,但是它需要您在远程服务器上配置xdebug,以便它可以连接到您的开发PC。

这是一个简单的例子: 使用NetBeans的开发PC位于10.0.0.100, 并且您的远程PHP Web服务器位于10.0.0.1 设置xdebug.remote_host = 10.0.0.100 现在,只要某人(或您)在远程服务器上的URL中指定了XDEBUG_SESSION_START参数,xdebug就会尝试连接到10.0.0.100。

Xdebug v2.1有一个很好的功能:xdebug.remote_enable = 1 启用该选项将覆盖xdebug.remote_host,然后xdebug将连接到$ _SERVER ['REMOTE_ADDR'](这是客户端连接的IP地址)。这个非常棒的功能允许您在同一台服务器上进行多次调试,因为您无法使用ini_set()

来操作xdebug.remote_host

答案 3 :(得分:0)

我不了解Netbeans,从未使用它,但在Eclipse PDT中你也可以使用XDebug进行调试,“PHP网页”和“PHP脚本”之间存在区别。对于“PHP网页”,您选择一个Web服务器(您之前配置)而不是PHP解释器(就像您与“PHP脚本”一样)。

也许Netbeans也有同样的事情?

答案 4 :(得分:0)

xdebug.remote_autostart=1自动远程连接。 在“Xdebug v2.1有一个很好的功能:”。

相关问题