fob*_*bus 2 php xdebug phpstorm
我有运行我的应用程序的设置和 docker 机器。在这个 docker 机器中,xdebug 是通过这些 xdebug.ini 设置启用的。
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
Run Code Online (Sandbox Code Playgroud)
我的本地机器 IP 是 10.5.0.1
当我尝试在命令行上运行我的应用程序时,它会连接回 PhpStorm 调试器。但是由于没有路径映射,它停在脚本的第一行,断点不起作用。断点光标不可见,我无法F8按键跟踪代码。
此外,它必须显示某种路径映射错误 Debugger->Variables 窗口,但它不显示任何错误。
如何解决这个问题?
您需要在“设置 > 语言和框架 > PHP > 服务器”中设置“服务器”配置,它将服务器上看到的路径映射到项目中的路径。
通常,您可以在“主机”中输入 URL,并将“端口”设置为 HTTP 端口,例如 80 或 443。对于 CLI 脚本,此处输入的信息将基于您与运行 CLI 脚本的服务器的连接。例如,如果您通过标准 SSH 端口 (22) SSH 到 192.168.42.42,则需要输入“主机:192.168.42.42”和“端口:22”。
要了解需要设置的详细信息,请进入“设置 > 语言和框架 > PHP > 调试”,启用“未指定路径映射时在第一行强制中断”,并确保“忽略通过未注册服务器的外部连接”配置”没有勾选。然后单击工具栏中的“侦听调试连接”,然后运行脚本;应弹出一个对话框,显示它尝试匹配的“服务器名称:”和“服务器端口:”,并确认远程文件路径。单击该对话框上的“忽略”,设置服务器映射,然后重试,您应该获得正确的调试会话。
我可以解决这个问题,如果serverName没有配置,PhpStorm 无法处理。
1. 设置环境变量:
export XDEBUG_CONFIG="idekey=PHPSTORM"
export PHP_IDE_CONFIG="serverName=web_server_cli"
Run Code Online (Sandbox Code Playgroud)
2. 为该服务器名设置路径映射:
转到Settings > Languages & Frameworks > PHP并使用主机名创建服务器web_server_cli