在XDebug for Eclipse中,远程路径如何映射到本地路径?

时间:2015-01-21 03:07:18

标签: php eclipse apache curl xdebug

虽然我现在意识到让Eclipse在断点处停止的技巧,当从POST执行PHP脚本和从ajax / curl执行GET请求时,确保在所有的XDEBUG_START_SESSION变量中设置ServerName test.local DocumentRoot "C:\Users\me\projects\testproject\start\here" Alias /post "C:\Users\me\projects\testproject\post" <Directory "C:\Users\me\projects\testproject"> Require all granted </Directory> 变量。请求调试器知道,这似乎只有当Web服务器上的所有路径都是正常的相对类型时才会起作用。

但是,如果您碰巧在Web服务器上有一些别名路径,例如通过httpd Alias指令,则XDebug无法将工作区中文件的路径与站点中的路径相关联URL。

我有以下目录设置:

Directory Setup

以下是Web服务器的设置方法:

Debug Configurations -> Server -> Configure... -> Path Mapping

我认为这是“路径映射”选项卡的用途,可在Path on server中找到。我看到的每个地方都被告知要将Local path设置为Web服务器上的文件系统路径以获取目录或文件,并将Path on server设置为文件系统或工作空间中的路径。我还尝试将Local path设置为我想要映射到/post的站点URL路径,但是这两种配置都不会导致在POST的PHP脚本中打破一行。

我打开XDebug的日志记录,比较它正确停止的断点的消息,因为它位于调试器启动的文件中,并且脚本中的断点通过POST请求执行,遗憾的是不是停止。如果DocumentRoot路径与/post上的帖子目录对应,它将在此文件中停止,但如果帖子目录位于其他位置并且站点中的“假”/post路径,则不会URL是别名。

在我的XDebug log file中,index.php中的第28行有几个日志条目,它正在为其正确破解。 message.php中的第3行也有一个条目,URL编码的路径看起来正确,但我没有看到相同类型的条目。

如何配置Eclipse以了解服务器上的/My Project/post表示工作区中的{{1}}?

1 个答案:

答案 0 :(得分:0)

哦,我的......只是将接受远程会话(JIT)设置为localhost,在我的情况下,或只是off以外的任何内容:

Accept remote session

很高兴确认这确实有用,但我仍然对为什么它不在一个更复杂的项目中感到困惑。幸运的是,我还有更多的分享......