在 Ubuntu 上使用 PhpStorm 进行 Xdebug
Xdebug with PhpStorm on Ubuntu
我想知道是否有人可以阐明采取适当措施以确保以下设置将允许 Xdebug 和 PhpStorm 工作。
我们有一个 LAMP 堆栈 运行 很好,在 Azure VM 上有 PHP 和 Xdebug 3 运行。
我们在共享办公网络上,IP 地址为 public,但进线无法访问防火墙,尽管它非常宽松。
我们的目标是连接我们的机器 (x3) 以调试我们的远程 Web 服务器(Azure VM 上的 LAMP 堆栈)。
我们可以毫无问题地创建到 Web 服务器的 SSH 隧道。但是调试就是不行。 IE。当我们启动一个页面时,调试器什么都不做。
有没有其他人运行这种设置和确认我们是否缺少确保连接成功的步骤。
[xdebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.default_enable = 1
xdebug.force_display_errors = 1
xdebug.scream = 1
xdebug.force_error_reporting = NONE
xdebug.idekey = diss
xdebug.remote_enable = 1
xdebug.remote_log=/tmp/xdebug.log
xdebug.log=/var/log/xdebug.log
xdebug.remote_connect_back=0
xdebug.discover_client_host=false
在我的案例中,通过确保设置如下
解决了这个问题
[xdebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.remote_log=/tmp/xdebug.log
xdebug.log=/var/log/xdebug.log
我使用 pydbgpproxy
cd /opt
sudo mkdir pydbgpproxy
cd pydbgpproxy
sudo wget https://github.com/Mirocow/pydbgpproxy/archive/master.zip ./
sudo unzip master.zip ./
sudo ln -s $(pwd)/pydbgpproxy /usr/local/bin/pydbgpproxy
编辑 pydbgpproxy
cd /opt/pydbgpproxy/pydbgpproxy-master/
sudo nano pydbgpproxy
第 333 行将 add=xxx 行替换为
addr = ['127.0.0.1',long(idekey)]
在服务器上启动pydbgproxy
nohup sudo /opt/pydbgpproxy/pydbgpproxy-master/pydbgpproxy -i 127.0.0.1:1001-d 127.0.0.1:1003 &
使用 SSH 隧道创建到开发服务器的 SSH 连接:
Source Port: 1234 **This must match your unique IDE key set below.**
Destination: 127.0.0.1:1003
在 PhpStorm 中将调试器端口更改为 9003
File > Settings > Languages & Frameworks > PHP > Debug
Debug Port: 1003
将您的代理设置更改为:
File > Settings > Languages & Frameworks > PHP > Debug > DBGp Proxy
IDE Key: 1234 **Unique IDE Key - This must be unique to you and must be numerical**
Host: 0.0.0.0 **External IP Address of the Dev Server**
Port: 1001
确保您的 xdebug 助手扩展设置为使用密钥 1234
您在上面设置的 IDE 键必须是唯一的
我想知道是否有人可以阐明采取适当措施以确保以下设置将允许 Xdebug 和 PhpStorm 工作。
我们有一个 LAMP 堆栈 运行 很好,在 Azure VM 上有 PHP 和 Xdebug 3 运行。
我们在共享办公网络上,IP 地址为 public,但进线无法访问防火墙,尽管它非常宽松。
我们的目标是连接我们的机器 (x3) 以调试我们的远程 Web 服务器(Azure VM 上的 LAMP 堆栈)。
我们可以毫无问题地创建到 Web 服务器的 SSH 隧道。但是调试就是不行。 IE。当我们启动一个页面时,调试器什么都不做。
有没有其他人运行这种设置和确认我们是否缺少确保连接成功的步骤。
[xdebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.default_enable = 1
xdebug.force_display_errors = 1
xdebug.scream = 1
xdebug.force_error_reporting = NONE
xdebug.idekey = diss
xdebug.remote_enable = 1
xdebug.remote_log=/tmp/xdebug.log
xdebug.log=/var/log/xdebug.log
xdebug.remote_connect_back=0
xdebug.discover_client_host=false
在我的案例中,通过确保设置如下
解决了这个问题[xdebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.remote_log=/tmp/xdebug.log
xdebug.log=/var/log/xdebug.log
我使用 pydbgpproxy
cd /opt
sudo mkdir pydbgpproxy
cd pydbgpproxy
sudo wget https://github.com/Mirocow/pydbgpproxy/archive/master.zip ./
sudo unzip master.zip ./
sudo ln -s $(pwd)/pydbgpproxy /usr/local/bin/pydbgpproxy
编辑 pydbgpproxy
cd /opt/pydbgpproxy/pydbgpproxy-master/
sudo nano pydbgpproxy
第 333 行将 add=xxx 行替换为
addr = ['127.0.0.1',long(idekey)]
在服务器上启动pydbgproxy
nohup sudo /opt/pydbgpproxy/pydbgpproxy-master/pydbgpproxy -i 127.0.0.1:1001-d 127.0.0.1:1003 &
使用 SSH 隧道创建到开发服务器的 SSH 连接:
Source Port: 1234 **This must match your unique IDE key set below.**
Destination: 127.0.0.1:1003
在 PhpStorm 中将调试器端口更改为 9003
File > Settings > Languages & Frameworks > PHP > Debug
Debug Port: 1003
将您的代理设置更改为:
File > Settings > Languages & Frameworks > PHP > Debug > DBGp Proxy
IDE Key: 1234 **Unique IDE Key - This must be unique to you and must be numerical**
Host: 0.0.0.0 **External IP Address of the Dev Server**
Port: 1001
确保您的 xdebug 助手扩展设置为使用密钥 1234
您在上面设置的 IDE 键必须是唯一的