在eclipse中使用XDebug远程调试时,PHP源文件是否需要在本地和远程存在?

Sam*_*vin 7 php eclipse debian xdebug apache2

我对使用Eclipse的XDebug远程调试感到困惑.

我使用Windows(使用eclipse和所有爵士乐)来进行开发,但我想在与生产环境相同的环境中测试我的代码.

我一直在修补XDebug远程调试以支持这一点.我已在远程计算机上正确配置了XDebug,并确保端口已打开.但令我感到困惑的是 - 我的机器上的源文件是否也需要存在于运行PHP和XDebug的远程服务器上?现在我在我的本地开发机器上没有任何PHP可执行文件,因此没有可能在其上运行脚本的方法.

谢谢

And*_*man 3

是的,服务器和客户端上需要存在相同的文件集。

服务器上的文件是在调试会话期间实际运行的文件。

当调试器在断点处停止时,Eclipse 将向您显示客户端上的文件。服务器将告诉 Eclipse 它停止在文件 Y 的 X 行,Eclipse 将显示本地文件集中文件 Y 的 X 行。因此,如果本地文件与远程文件不同,您将调试错误的内容,并且会造成混乱。

请注意,如果您无法在客户端上运行 PHP,也没有关系。客户端文件没有被执行,只是显示在调试会话中。

如果您对本地文件进行任何编辑,则需要将它们与服务器重新同步。有多种方法可以做到这一点,其中一些方法内置于 Eclipse 中,例如 RSE 插件中。我更喜欢使用Unison,或者版本控制提交回服务器。