网上配置xdebug的教程很多,但是绝大一部分是本地调试,而部分远程调试的文章并不详细,观众看了很迷惑,我用2天时间配置xdebug,能怕的坑都爬过了,跟大家分享,愿各位phper能愉快使用xdebug进行开发~
1、打开:https://xdebug.org/wizard (xdebug版本匹配)
2、把phpinfo打印出来整个页面ctrl+c ctrl+v复制到上面的框里,点击analyse 。。下载相应的xdbug到linux服务器 然后通过ftp工具传输到linux服务器(当然也可以wget 直接下载到linux服务器)
3、tar -xvf xdebug安装包.tar 解压
4、cd 到解压的目录
5、编辑vim /usr/local/php/etc/php.ini , 把disable_function里面的shell_exec,proc_open,proc_get_status,popen去掉,可能会影响xdebug的安装
6、开始编译安装xdebug扩展
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install && make test (make test检测安装是否有问题,如果5里面步骤没有做,可能会出现错误提示)
7.编辑 /usr/local/php/etc/php.ini文件,在最后面添加xdebug配置
(注意箭头出目录名改成你自己安装的目录名称)
其中remote_host 地址是你本机的内网ip地址,xdebug会往你的本地phpstorm发送数据,走的就是这个ip地址,获取方法可以通过下面2张图:
8、lnmp restart php 重启php服务(本人用的lnmp一键安装包,根据你自己安装的方式来)
9、php -m 查看xdebug扩展是否安装成功
firefox安装xdebug很简单,chrome比较麻烦,可能会遇到“无效的xdebug helper程序”,具体方法请参考以下链接,可以成功安装:
http://www.cnplugins.com/devtool/xdebug-helper
1、配置sftp文件自动上传(!!!如果phpstorm无法同步remote host,就无法开启debug!!!),请按如下图方式打开sftp配置:
**配置connection:看图
**配置Mappings
**配置自动上传
2、配置php
**请按如下路径打开配置:
(注意:如果发生无法修改php language level版本请执行修改composer配置如图:点击应用后,继续》》)
**配置php cli,开发配置deploy configuration选择我们之前配置的sftp服务器,php executable一般默认即可,点击后面的刷新会出来php版本号和xdebug版本号
2、配置debug如图:参数参照 上文(一、7),!!!注意:把下面两个force取消掉(否则断点始终从index.php主入口文件进来,无法跳转到后面我们指定的调试文件进行断点调式)
**配置DBGP Proxy如图:参数参照 上文(一、7)
3、配置servers 打勾,映射远程项目根目录(非入口文件目录)
4、回到debug设置界面,设置remote 模式 ,Validate 验证一下我们的配置;
勾选remote web server模式(远程调试),开发服务器选择我们的sftp服务器就可以,然后点击下面的validate,然后你会看到很酸爽的一幕,报错了404;其实这是一个phpstorm的一个bug,在thinkphp/laravel这种入口文件非根目录的情况下,会出先这种找不到文件报404的错误,其实是正确的,它默认走的是我们上面配置的映射,所以不用管它;
5、配置debug信息 服务器选择我们前面设置好的映射服务器,url设置为/就可以了,配置好就可以开始debug了
(注意:配置好以后validate验证消息 同样是404 如图,这是正常的,不用理会,原因上文讲过了。)
6、debug之前请关闭入口文件自动断点,否则无法直接调试我们想要的文件
1、点击某个类的非空行 随便输入几行, ctrl + s 触发sftp文件同步上传(或者手动同步,!!!非同步文件无法debug!!!)
2、开启监听 开始调试
3、现在应该会看到你们期待已久的对号了 √
纳尼,为什么没有出现期待已久的对号√ ,天啊 不要啊?真相只有一个,私信,红包微信号lx13223332 开玩笑的啦@_@
一定要把调试的脚本写上 否则xdebug怎么知道你要我返回哪一个文件的debug信息啊 看图()这是我的访问路由
参考链接:(感谢)
[1]: http://www.cnplugins.com/devtool/xdebug-helper(chrome安装xdebug拓展)