解决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 相关文章推荐
建立文件交换功能的脚本(一)
Oct 09 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
Oct 03 PHP
php获取操作系统语言代码
Nov 04 PHP
php跨站攻击实例分析
Oct 28 PHP
php二维数组合并及去重复的方法
Mar 04 PHP
PHP获取某个月最大天数(最后一天)的方法
Jul 29 PHP
PHP中的switch语句的用法实例详解
Oct 21 PHP
详解PHP对象的串行化与反串行化
Jan 24 PHP
php curl 模拟登录并获取数据实例详解
Dec 22 PHP
php cli模式下获取参数的方法
May 05 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
php实现微信公众平台发红包功能
Jun 14 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
PHP注释实例技巧
2008/10/03 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
浅谈js常用内置方法和对象
2016/09/24 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
ES6 fetch函数与后台交互实现
2018/11/14 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
2019/11/27 Javascript
如何通过JS实现转码与解码
2020/02/21 Javascript
Vue Router 实现动态路由和常见问题及解决方法
2020/03/06 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
python查询mysql中文乱码问题
2014/11/09 Python
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
python采用django框架实现支付宝即时到帐接口
2016/05/17 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python中的set实现不重复的排序原理
2018/01/24 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
Python实现多线程的两种方式分析
2018/08/29 Python
Django中如何使用sass的方法步骤
2019/07/09 Python
对Django url的几种使用方式详解
2019/08/06 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
大学生求职简历的自我评价
2013/10/14 职场文书
质量承诺书怎么写
2014/05/24 职场文书
幼师中班个人总结
2015/02/12 职场文书
vue实现在data里引入相对路径
2022/06/05 Vue.js