PhpStorm Xdebug通过SSH隧道路径映射

问题描述 投票:0回答:1

我正在使用我的本地机器(运行MAMP Pro的iMac)在远程服务器(Amazon Linux)上调试PHP。我可以让PhpStorm“打破第一行”,并正确执行,但是当它移动到另一个文件时,它会完全错误。它一直在逐步通过,似乎正在以这种方式工作,但是在错误的行上,所以我无法真正遵循代码。它实际上比应该的位置提前约20行。

我正在使用以下方法设置从本地计算机到Web服务器的SSH隧道:

ssh -g -N -R9000:localhost:9000 SSH_ALIAS

这很棒; PhpStorm选择它并开始调试。

我认为它与路径映射有关。我正在通过访问该站点的CLI工具调试命令,并且其PHP文件位于与项目Web根目录不同的根目录中(这个CLI PHP脚本文件夹和Web服务器的文档根目录都在PhpStorm中设置为项目根目录)。

PhpStorm正确映射的第一个文件位于CLI工具的根目录中,我试图从第一个文件中进入的第二个文件位于项目Web根目录中。所以这是目录结构:

qazxsw poi - 服务器qazxsw poi上的第一个文件路径 - 本地计算机上的第一个文件路径

qazxsw poi - 服务器qazxsw poi上的第二个文件路径 - 本地计算机上的第二个文件路径

我已经尝试在PhpStorm中为/usr/share/[CLI_TOOL_PATH]/[NAME].php和端口/usr/share/[CLI_TOOL_PATH]/[NAME].php设置一个PHP服务器,“服务器上的绝对路径”映射到与本地文件相同的路径,我尝试使用“服务器上的绝对路径” “映射到服务器上的实际路径。值得注意的是,CLI工具的路径在本地计算机和服务器上完全相同,而Web根目录在两者上都不同。

我已经在远程服务器上设置了PHP,并在php.ini中添加了以下内容:

/var/www/html/main/[MODULE_PATH]

希望有人可以帮忙!提前致谢 :)

php phpstorm xdebug
1个回答
0
投票

您应该在PHPStorm中使用以下路径映射:

/var/Webroot/dev_imac/[MODULE_PATH]

希望你已经设置好,所以PHPStorm知道左边的那两个目录 - 它需要认识到它们是项目的一部分。通常,您有一个项目根目录,所有文件都是子目录。

© www.soinside.com 2019 - 2024. All rights reserved.