以前写过一篇博客《PHP的学习--在sublime中使用XDebug(Ubuntu)》,讲了在Ubuntu系统 sublime 中配置 XDebug,其实配置好以后,我也不多用,缘由有两点:一是正常状况下使用 var_dump 就够了,二是插件的快捷键太复杂,又没有相应的操做的按钮,使用太不方便。php
后来,编辑器切换到了Atom,也就一直没尝试去使用 XDebug,最近想要了解一下 Laravel 的源码,想起了看看 Atom 是否有 XDebug 的工具,这一看,还真有,就是 php-debug 项目。发现其操做也比以前 sublime 上插件方便不少。不过在安装过程当中遇到了一些坑,在这里记录一下。html
首先安装 XDebug,命令以下 :git
brew install homebrew/php/php56-xdebug
我使用了 brew 去安装,由于以前装的 php56,因此 XDebug 也要安装相应的版本。github
编辑 /usr/local/etc/php/5.6/conf.d/ext-xdebug.ini 文件,添加以下内容:json
xdebug.remote_enable=1 xdebug.remote_host=127.0.0.1 xdebug.remote_connect_back=1 # Not safe for production servers xdebug.remote_port=9000 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_autostart=true
而后重启 php-fpm,这样 php XDebug 就配置好了。vim
关于上面配置项的相关解释能够查看以前的博客《PHP的学习--在sublime中使用XDebug(Ubuntu)》编辑器
有一点要注意的是,须要确认 9000 端口号没有被占用,若是已被占用,能够更换为其它端口号。php-fpm
而后在 Atom 中安装 php-debug 插件,这个我就不细说了。工具
最后编辑 vim ~/.atom/config.cson 文件,添加以下内容:学习
"php-debug": { ServerPort: 9000 }
这里的端口号跟 XDebug 的配置保持一致便可。
你会发现这里要添加的内容跟 php-debug 的 doc 里的不太同样,doc 中的内容以下:
"php-debug": { ServerPort: 9000 PathMaps: [ "remotepath;localpath" "/base/path/on/remote/system;C:\\base\\path\\on\\local\\system" ] }
以前照着 doc 填进去了,没有看相关的解释,结果每次 Debug 时,都是跳到了空页面。后来从新读了一下 doc, 才发现这个问题。
PathMaps的解释是若是调试代码在远程机器上,使用PathMaps能够映射远程机器到本地机上。
因此若是咱们只是在本地使用,根本就不须要这个配置。就由于这个,我纠结了小半天。。。
获得的经验是,必定要仔细阅读文档,必定要仔细阅读文档,必定要仔细阅读文档,重要的事情说三遍~~