解决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 相关文章推荐
使用sockets:从新闻组中获取文章(一)
Oct 09 PHP
php抽奖小程序的实现代码
Jun 18 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
详解WordPress中用于合成数组的wp_parse_args()函数
Dec 18 PHP
基于PHP实现等比压缩图片大小
Mar 04 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
浅析Laravel5中队列的配置及使用
Aug 04 PHP
php实现博客,论坛图片防盗链的方法
Oct 15 PHP
PHP实现的MD5结合RSA签名算法实例
Oct 07 PHP
在laravel5.2中实现点击用户头像更改头像的方法
Oct 14 PHP
分享8个Laravel模型时间戳使用技巧小结
Feb 12 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动态图像的创建
2006/10/09 PHP
php文本转图片自动换行的方法
2013/03/13 PHP
PHP Global变量定义当前页面的全局变量实现探讨
2013/06/05 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
php实现短信发送代码
2015/07/05 PHP
PHP中类属性与类静态变量的访问方法示例
2016/07/13 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
Jquery中dialog属性小记
2010/09/03 Javascript
调试Javascript代码(浏览器F12及VS中debugger关键字)
2013/01/25 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
轻量级jQuery插件slideBox实现带底栏轮播(焦点图)代码
2016/03/28 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
2017/02/05 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
get  post jsonp三种数据交互形式实例详解
2017/08/25 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
Python的垃圾回收机制深入分析
2014/07/16 Python
python多线程编程中的join函数使用心得
2014/09/02 Python
python通过floor函数舍弃小数位的方法
2015/03/17 Python
python决策树之CART分类回归树详解
2017/12/20 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
python XlsxWriter模块创建aexcel表格的实例讲解
2018/05/03 Python
详解Django admin高级用法
2019/11/06 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
Python enumerate内置库用法解析
2020/02/24 Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
2020/02/27 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
钉钉企业内部H5微应用开发详解
2020/05/12 HTML / CSS
企业总经理职责
2014/02/02 职场文书
执行总经理岗位职责
2014/02/03 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
python百行代码实现汉服圈图片爬取
2021/11/23 Python
Django框架中表单的用法
2022/06/10 Python