解决windows上php xdebug 无法调试的问题


Posted in PHP onFebruary 19, 2020

有时候我们在使用php和nginx进行开发的时候,会出现这样的情况,明明扩展已经安装,但是就是无法调试成功。这个时候我们就要耐心去分析问题产生的原因。

第一步:查看php的版本比如是否是x64还是x86,看看xdebug是否激活,可以通过phpinfo();来查看扩展是否激活。

第二步:使用php -m再次检查xdebug是否安装。

这个时候可能会遇到 xdebug must be loaded as zend extension 。这个是因为我们在php.ini中配置extension的时候需要改成zend_extension才行,也就zend_extension=php_xdebug.dll。

第三步:我们需要配置xebug的调试语句,也就是需要在php.ini中填入下面的语句

[XDebug]

xdebug.remote_enable = 1

xdebug.remote_autostart = 1

xdebug.remote_port=9090

xdebug.remote_host=127.0.0.1

这里有个非常重要的一个参数就是remote_port=9090,默认的话会是9000,但是如果填写9000这个端口,可能就会导致你的php无法调试,因为9000端口会被nginx占用做代理。

如何查看9000端口是否被占用,可以在命令行输入netstat -anp|findstr "9000"这个命令,如果有程序占用9000端口,就会显示出来,我们可以查看到他的pid,接下来我们通过tasklist|findstr "2342"(2343是刚才查到的pid)来找到是哪个进程占用的这个端口,如果可以关闭的话,就关闭,不能关闭的话,我们就需要修改我们的端口号,比如笔者这里修改为9090.

总结:编程就是一个不断遇到问题,不断解决问题的过程,可能同样的代码,不同的环境就会导致结果不同,同样的环境,不同的参数也会导致运行不同,我们需要做的就是不断加深我们的理解,学会查看错误日志,学会分析程序运行逻辑,这样才能克服重重困难,勇攀高峰。

这里比如调试的问题,我们首先就需要明白调试的原理是什么,它本质上是另起一个进程去监听我们的调试,它首先是php的一个扩展,php的好多功能都是通过扩展来实现的,比如常用的许多图形库,加密算法等。当激活扩展后,php就会和扩展交互,这里的xdebug就是通过获取到的php运行信息来进行调试的。

总结

以上所述是小编给大家介绍的解决windows上php xdebug 无法调试的问题,希望对大家有所帮助,也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
提升PHP执行速度全攻略(上)
Oct 09 PHP
PHP Document 代码注释规范
Apr 13 PHP
php 记录进行累加并显示总时长为秒的结果
Nov 04 PHP
php在线代理转向代码
May 05 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
Jul 25 PHP
PHP字符串比较函数strcmp()和strcasecmp()使用总结
Nov 19 PHP
php实现递归的三种基本方式
Jul 04 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
php微信开发自定义菜单
Aug 27 PHP
PHP面向对象程序设计之对象生成方法详解
Dec 02 PHP
PHP十六进制颜色随机生成器功能示例
Jul 24 PHP
PHP实现二维数组中的查找算法小结
Jun 09 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 #PHP
laravel框架select2多选插件初始化默认选中项操作示例
Feb 18 #PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 #PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 #PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 #PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
Feb 15 #PHP
php 函数中静态变量使用的问题实例分析
Mar 05 #PHP
You might like
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
适用于php-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
php使用curl和正则表达式抓取网页数据示例
2014/04/13 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
PHP编程实现计算抽奖概率算法完整实例
2017/08/09 PHP
简单的php购物车代码
2020/06/05 PHP
javascript 数组排序函数
2009/08/20 Javascript
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
2015/09/22 Javascript
javascript实现input file上传图片预览效果
2015/12/31 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
angular2使用简单介绍
2016/03/01 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
使用Python实现windows下的抓包与解析
2018/01/15 Python
python GUI库图形界面开发之PyQt5树形结构控件QTreeWidget详细使用方法与实例
2020/03/02 Python
大学毕业感言
2014/01/10 职场文书
教师节促销方案
2014/03/22 职场文书
抵押贷款承诺书
2014/05/30 职场文书
迟到检讨书范文
2015/01/27 职场文书
乐山大佛导游词
2015/02/02 职场文书
Python 流媒体播放器的实现(基于VLC)
2021/04/28 Python
Ajax异步刷新功能及简单案例
2021/11/20 Javascript
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫
常用的文件对应的MIME类型汇总
2022/04/26 HTML / CSS
A22国内电台短波广播频率表
2022/05/10 无线电