解决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 相关文章推荐
第十二节 类的自动加载 [12]
Oct 09 PHP
基于PHP选项与信息函数的使用详解
May 10 PHP
一个简单的php加密解密函数(动态加密)
Jun 19 PHP
PHP中session变量的销毁
Feb 27 PHP
PHP+Mysql树型结构(无限分类)数据库设计的2种方式实例
Jul 15 PHP
php集成环境xampp中apache无法启动问题解决方案
Nov 18 PHP
PHP简单选择排序算法实例
Jan 26 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
PHP单元测试配置与使用方法详解
Dec 27 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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
PHP+redis实现添加处理投票的方法
2015/11/14 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
在云虚拟主机部署thinkphp5项目的步骤详解
2017/12/21 PHP
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
如何在JavaScript中实现私有属性的写类方式(二)
2013/12/04 Javascript
JavaScript调用ajax获取文本文件内容实现代码
2014/03/28 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
node.js缺少mysql模块运行报错的解决方法
2016/11/13 Javascript
微信小程序实现给嵌套template模板传递数据的方式总结
2017/12/18 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
详解一个基于套接字实现长连接的express
2019/03/28 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
[48:05]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VGJ.T vs VP
2018/03/31 DOTA
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python 上下文管理器使用方法小结
2017/10/10 Python
TensorFlow 滑动平均的示例代码
2018/06/19 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
什么是smarty? Smarty的优点是什么?
2013/08/11 面试题
电脑教师的教学自我评价
2013/11/26 职场文书
甜点店创业计划书
2014/01/27 职场文书
2014元旦晚会策划方案
2014/02/19 职场文书
大学生简短的自我评价分享
2014/02/20 职场文书
2014三八妇女节活动总结
2014/03/01 职场文书
垃圾桶标语
2014/06/24 职场文书
关于工作经历的证明书
2014/10/11 职场文书
2016年教师师德师风承诺书
2016/03/25 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
go设置多个GOPATH的方式
2021/05/05 Golang