我使用本地计算机(运行MAMP Pro的iMac)在远程服务器(Amazon Linux)上调试PHP。我可以让PhpStorm在第一行打破#34;并正确执行,但是当它移动到另一个文件时,它会完全错误。它一直在踩踏,似乎正在以这种方式工作,但是在错误的行上,所以我无法真正遵循代码。它实际上比它应该的位置开始大约20行。
我使用以下方法设置从本地计算机到Web服务器的SSH隧道:
ssh -g -N -R9000:localhost:9000 SSH_ALIAS
这很棒; PhpStorm选择它并开始调试。
我认为它与路径映射有关。我通过访问该站点的CLI工具调试命令,其PHP文件位于与项目Web根目录不同的根目录中(此CLI CLI脚本文件夹和Web服务器的文档根目录都设置在PhpStorm作为项目根目录)。
PhpStorm正确映射的第一个文件位于CLI工具的根目录中,而我尝试从第一个文件进入的第二个文件位于项目Web根目录中。所以这里是目录结构:
/usr/share/[CLI_TOOL_PATH]/[NAME].php
- 服务器上的第一个文件路径
/usr/share/[CLI_TOOL_PATH]/[NAME].php
- 本地计算机上的第一个文件路径
/var/www/html/main/[MODULE_PATH]
- 服务器上的第二个文件路径
/var/Webroot/dev_imac/[MODULE_PATH]
- 本地计算机上的第二个文件路径
我已尝试在PhpStorm中为localhost
和端口9000
设置一个PHP服务器,并在服务器上使用"绝对路径"映射到与本地文件相同的路径,我已尝试使用服务器上的"绝对路径"映射到服务器上的实际路径。值得注意的是,CLI工具的路径在本地计算机和服务器上完全相同,而Web根目录在两者上都不同。
我已经在远程服务器上设置了PHP,并在php.ini中设置了以下内容:
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.idekey="PHPSTORM"
xdebug.remote_handler=dbgp
希望有人可以帮忙!在此先感谢:)
答案 0 :(得分:0)
您应该在PHPStorm中使用以下路径映射:
|------------------------------------------------------------------------|
| File/Directory | Absolute path on server |
|------------------------------------------------------------------------|
| /usr/share/[CLI_TOOL_PATH] | /usr/share/[CLI_TOOL_PATH] |
| /var/Webroot/dev_imac/[MODULE_PATH] | /var/www/html/main/[MODULE_PATH] |
|------------------------------------------------------------------------|
希望你已经设置好,所以PHPStorm知道左边的那两个目录 - 它需要认识到它们是项目的一部分。通常,您有一个项目根目录,所有文件都是子目录。