2015-04-25 152 views
4

我想调试与PHPstorm IDE和xdebug我的网站在服务器中。本地完美工作,但是当我想配置从服务器调试我不能。PhpStorm远程调试与xdebug

我在服务器上安装了XDebug,这种配置:

xdebug.remote_enable=1 
xdebug.remote_connect_back=1 
xdebug.remote_handler=dbgp 
xdebug.remote_host=MY IP 
xdebug.remote_port=9000 
xdebug.idekey=PHPSTORM 

然后我安装在“编辑配置”一“PHP远程调试”和“服务器”

在服务器PHPSTORM我把:

Name: xxxx 
Port: 80 
Host: Url of my site 
Debugger: Xdebug 
I checked "Use Path Mapping" and in File/Directory i put my local proyect path "/home/mysite" 
In "Absolute path on the server" i put the path in the server where are the proyect: "/var/www/html/mysite" 

在 “PHP远程调试” 我把:

Name: xxxx 
Servers: the server created previously 
IDE key: PHPSTORM 

使用这些设置不起作用。我使用带扩展Xdebug的Chrome和Ide key PHPstorm启用。

什么是我缺乏工作?

+0

首先收集xdebug日志,并看到1)如果它试图连接到正确的IP:端口; 2)如果连接成功。如果连接失败 - 可能是服务器和PC之间的防​​火墙(可能是任何东西:本地防火墙;路由器;防止在此类端口上传出连接的服务器配置等); 3)验证路径(记住:xdebug只与最终/解析路径一起工作 - 所以仔细检查远程的任何符号链接等) – LazyOne

+0

无论如何:https://confluence.jetbrains.com/display/PhpStorm/Debugging+with + PhpStorm,如果你还没有看到它 – LazyOne

+0

你能给我运行 - > Web服务器调试验证工具的输出吗? – GeeH

回答

0

我想我在刚刚孵化的时候有同样的问题。当XDebug在另一台服务器上运行时,XDebug引擎的端口当然只能在本地系统(远程服务器)上打开。

把这个端口连接到你的开发机器上的最好方法是在这两个系统之间创建一个安全的SSH隧道。在本地计算机,在ssh-配置文件(通常位于下的〜/ .ssh /配置),请执行下列操作:

Host example 
    Hostname 192.168.2.1 
    User johndoe 
    LocalFoward 9200 127.0.0.1:9000 

现在,当-on控制台 - 你做

ssh example 

它将使用用户名(登录)johndoe连接到远程系统(192.168.2.1),并将远程计算机上的端口9200连接到本地计算机上的端口9000。当然,你也可以使用相同的端口。

我希望这会有所帮助。 :)