如何配置PhpStorm Remote Xdebug路径Map

ldioqlga  于 2023-01-01  发布在  PHP
关注(0)|答案(5)|浏览(101)

我有安装程序和运行我的应用程序的Docker机器。在这个Docker机器中,使用这些xdebug.ini设置启用了xdebug。

zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20151012/xdebug.so
xdebug.remote_enable=on
xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_host=10.5.0.1

My local machines IP is 10.5.0.1
当我尝试在命令行上运行我的应用程序时,它连接回PhpStorm调试器。但由于没有路径Map,它停在脚本的第一行,断点不起作用。断点光标不可见,我无法通过F8键跟踪代码。
此外,它必须显示某种路径Map错误Debugger-〉Variables窗口,但它没有显示任何错误。
如何解决这个问题?

ee7vknir

ee7vknir1#

设置〉语言和框架〉php〉服务器添加你的服务器,并添加你的路径Map!例如C:\Sites\mysite mapped to remote /var/www/mysite或类似的

6yjfywim

6yjfywim2#

我可以解决这个问题,如果没有配置serverName,PhpStorm无法处理。

该怎么做:

1.安装环境变量:

export XDEBUG_CONFIG="idekey=PHPSTORM"
export PHP_IDE_CONFIG="serverName=web_server_cli"

2.该服务器名的设置路径Map:
转到Settings > Languages & Frameworks > PHP并创建主机名为web_server_cli的服务器

iibxawm4

iibxawm43#

您需要在“设置〉语言和框架〉PHP〉服务器”中设置一个“服务器”配置,将服务器上看到的路径Map到项目中的路径。
通常,您应在“主机”中输入URL,并将“端口”设置为HTTP端口,例如80或443。对于CLI脚本,此处输入的信息将基于您与运行CLI脚本的服务器的连接。例如,如果您192.168.42.42通过标准SSH端口(22)SSH连接到www.example.com,则应输入“主机:192.168.42.42”和“端口:22”。
要了解您需要设置的细节,请进入“设置〉语言和框架〉PHP〉调试”,启用“没有指定路径Map时强制在第一行中断”,并确保“忽略通过未注册服务器配置的外部连接”没有勾选。然后单击工具栏中的“侦听调试连接”,运行您的脚本;一个对话框应该弹出,显示“服务器名称:“和“服务器端口:“它试图匹配,以及确认远程文件路径。2点击“忽略”在该对话框中,设置服务器Map,并重试,你应该得到一个正确的调试会话。

rdlzhqv9

rdlzhqv94#

从您的评论到@delboy1978uk的回答,您似乎想调试一个从命令行运行的PHP脚本。为了有效地调试这个脚本,您需要执行以下操作,而不是通过'PHP Remote Application'运行配置来调试(PHPSorm会假设您是通过浏览器运行的):
1.使用所需参数创建“PHP脚本”运行配置以运行CLI应用程序。
1.设置一个远程CLI PHP解释器(我通过IDEA运行,所以对我来说它位于Settings > Languages & Frameworks > PHP > CLI Interpreter,YMMV),并为它提供用于连接到您的vagrant box的SSH凭据
1.在调试模式下通过运行配置启动脚本。
如果所有设置都正确,您的CLI脚本将启动并正确使用断点。

o8x7eapl

o8x7eapl5#

在我的情况下,有一个错误:
“远程文件路径”/var/www/my_project/vendor/magento/framework/Profiler/Driver/Standard.php“未Map到项目中的任何文件路径”
“单击以设置路径Map”https://i.stack.imgur.com/t9Nr3.png
单击“单击以设置路径Map”
弹出窗口将打开https://i.stack.imgur.com/JdsOV.png
从列表https://i.stack.imgur.com/85gXr.png中选择路径
单击确定https://i.stack.imgur.com/sPe1v.png

相关问题