在没有固定 ip 的情况下,如何在 phpstorm 中进行 nginx xdebug 远程调试
在外网 nginx 服务器和 phpstorm 开发环境分别位于不同网络的情况下,进行远程调试可能会遇到一些困难。如果没有固定 ip,我们无法在路由器上进行端口映射以将调试信息返回到本地机器。
一种解决方案是使用 gbdpproxy。gbdpproxy 是一个基于 gearman 的调试代理,可以在没有固定 ip 的情况下,在不同的网络之间进行调试。
首先,在 nginx 服务器上安装 gbdpproxy,并配置 php-fpm 监听 gbdpproxy 监听的端口。然后,在 phpstorm 中配置 xdebug 使用 gbdpproxy 作为调试代理。
立即学习“PHP免费学习笔记(深入)”;
以下是配置 gbdpproxy 的步骤:
-
在 nginx 服务器上安装 gbdpproxy:
apt-get install gbdpproxy
-
编辑 gbdpproxy 配置文件:
/etc/gbdpproxy.conf
并将以下行添加到文件末尾:
listen = 127.0.0.1:9000
-
重启 gbdpproxy:
service gbdpproxy restart
然后,在 phpstorm 中配置 xdebug 使用 gbdpproxy:
- 打开 phpstorm | preferences | languages & frameworks | php | debug。
- 在 debugger 部分,选择 xdebug。
-
在 xdebug 部分,选中以下选项:
- use path mapping
- ide key:输入一个唯一的密钥(例如,“my-debug-key”)。
-
在 remote 部分,输入以下内容:
- host:nginx 服务器的 ip 地址或域名
- port:gbdpproxy 监听的端口(例如,9000)
- ide key:与 phpstorm 中配置的密钥相同
配置完成后,就可以在 phpstorm 中开始进行远程调试了。
以上就是没有固定 IP 如何在 PhpStorm 中进行 Nginx xdebug 远程调试?的详细内容,更多请关注php中文网其它相关文章!