在公司都用的远程开发机开发,每次有错误调试就得dd(xxx)然后保存真是敲打,让我在本地开发用惯xdebug的情何以堪,所以有了下文。

1.安装配置xdebug

直接使用pecl安装即可

 

# pecl install xdebug

 

然后写xdebug配置,下面是我的设置(具体扩展路径以你安装完后提示的路径为准)

 

[xdebug]
zend_extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_host=192.168.220.128(你运行xdebug服务器的外网ip,这里是我在虚拟机测试的地址)
xdebug.remote_connect_back = 1
xdebug.remote_port = 9000

保存重启php

 

2.配置运行DBGp proxy

首先下载,下载地址,我在这选择的是Komodo IDE 10 (version 10.1.2)然后是Python Remote Debugging Client  Linux (x86_64) ,可以按照你的系统需求选择下载,但推荐选择python版本而不是其他的,因为这篇文章是按python版写的╭(′▽`)╯

下载完解包进入目录,别着急运行,先测试一下包是否已经导入
python -c "import dbgp.client; print 'ok'"

如果没显示ok而是显示错误就代表没导入


编辑/etc/profile(具体目录按照你解压目录为准,我这是root下的PythonRemoteDebugging目录,因为我的centos 7 的默认python 版本是2.7所以我导入的包目录是pythonlib,如果你是3的改成python3lib)
export PYTHONPATH=/root/PythonRemoteDebugging/pythonlib

继续上一步测试是否显示ok


好了现在可以运行了
./pydbgpproxy -d 127.0.0.1:9000 -i 192.168.220.128:9001

如果显示类似的信息代表运行成功,如果错误一般提醒端口已被占用换个端口即可

INFO: dbgp.proxy: starting proxy listeners.  appid: 3583
INFO: dbgp.proxy:     dbgp listener on 127.0.0.1:9000
INFO: dbgp.proxy:     IDE listener on  192.168.220.128:9001

好了最后一步,开放9001端口

编辑/etc/sysconfig/iptables 加一条规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 9001 -j ACCEPT

重启iptables 让规则生效

然后运行pydbgpproxy 

3.设置PhpStorm

打开 Tools->DBGp proxy->configuration
IDE key 是用来区分不同用户的 只要每个人的不重复就可以了
Host 这个就是pydbgpproxy中指定的外网ip,我这是192.168.220.128
Port pydbgpproxy中指定的端口,我这是9001
保存后,我们还得注册一下
点击Tools->DBGp proxy->register IDE 
显示以下内容,表示注册成功
IDE successfully registered with ide key 'PHPSTORM'

好了 现在可以跟小伙伴们愉快的在远程开发机上享受xdebug了\(^o^)/


参考网站:
https://xdebug.org/docs/install
http://docs.komodoide.com/Manual/debugpython
https://confluence.jetbrains.com/display/PhpStorm/Multi-user+debugging+in+PhpStorm+with+Xdebug+and+DBGp+proxy