解决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.MVC的模板标签系统(一)
Sep 05 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
PHP函数实现分页含文本分页和数字分页
Oct 23 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
Nov 18 PHP
PHP输出九九乘法表代码实例
Mar 27 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
php编程每天必学之表单验证
Mar 01 PHP
基于PHP微信红包的算法探讨
Jul 21 PHP
php自定义函数实现二维数组按指定key排序的方法
Sep 29 PHP
PHP常用操作类之通信数据封装类的实现
Jul 16 PHP
php5.x禁用eval的操作方法
Oct 19 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
laravel框架使用极光推送消息操作示例
Feb 15 #PHP
You might like
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
PHP判断网络文件是否存在的方法
2015/03/12 PHP
laravel实现批量更新多条记录的方法示例
2017/10/22 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP+RabbitMQ实现消息队列的完整代码
2019/03/20 PHP
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
jQuery EasyUI 入门必看
2016/06/03 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
Jquery动态列功能完整实例
2019/08/30 jQuery
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
python自带的http模块详解
2016/11/06 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
在Python中使用MongoEngine操作数据库教程实例
2019/12/03 Python
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
巴西美妆购物网站:Kutiz Beauté
2019/03/13 全球购物
园长自我鉴定
2013/10/06 职场文书
服装设计专业毕业生求职信
2014/04/09 职场文书
留学推荐信英文范文
2015/03/26 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
2016年大学生就业指导课心得体会
2015/10/09 职场文书
个人向公司借款协议书
2016/03/19 职场文书
Python简易开发之制作计算器
2022/04/28 Python