解决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 引用文件技巧
Mar 02 PHP
php.ini中date.timezone设置分析
Jul 29 PHP
PHP中使用数组实现堆栈数据结构的代码
Feb 05 PHP
PHP页面中文乱码分析
Oct 29 PHP
强制PHP命令行脚本单进程运行的方法
Apr 15 PHP
php计算整个目录大小的方法
Jun 01 PHP
php类的扩展和继承用法实例
Jun 20 PHP
php中实现字符串翻转的方法
Feb 22 PHP
PHP单例模式简单用法示例
Jun 23 PHP
Thinkphp3.2简单解决多文件上传只上传一张的问题
Sep 26 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 PHP
PHP与Web页面的交互示例详解二
Aug 04 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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
javascript 获取浏览器版本
2015/01/21 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
javascript类型系统 Array对象学习笔记
2016/01/09 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
2016/09/21 Javascript
jQuery Easyui加载表格出错时在表格中间显示自定义的提示内容
2016/12/08 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
vue-router之nuxt动态路由设置的两种方法小结
2018/09/26 Javascript
Node使用Nodemailer发送邮件的方法实现
2020/02/24 Javascript
儿童python练习实例
2018/05/27 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
pytorch自定义初始化权重的方法
2019/08/17 Python
Pyspark获取并处理RDD数据代码实例
2020/03/27 Python
Django values()和value_list()的使用
2020/03/31 Python
python3中的logging记录日志实现过程及封装成类的操作
2020/05/12 Python
python如何进行矩阵运算
2020/06/05 Python
CSS3 三维变形实现立体方块特效源码
2016/12/15 HTML / CSS
美国高街时尚品牌:OASAP
2016/07/24 全球购物
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
Under Armour安德玛英国官网:美国高端运动科技品牌
2018/09/17 全球购物
建筑实习自我鉴定
2013/10/18 职场文书
门卫人员岗位职责
2013/12/24 职场文书
中介业务员岗位职责
2014/04/09 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
营销总监岗位职责
2014/09/16 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
律师函格式范本
2015/05/27 职场文书
2016年秋季开学典礼新闻稿
2015/11/25 职场文书
选对餐饮营销策略,营业额才会上涨
2019/08/27 职场文书
如何用JavaScript学习算法复杂度
2021/04/30 Javascript
JS代码编译器Monaco使用方法
2021/06/11 Javascript
分析JVM源码之Thread.interrupt系统级别线程打断
2021/06/29 Java/Android