解决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中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
关于PHP5 Session生命周期介绍
Mar 02 PHP
PHP正确解析UTF-8字符串技巧应用
Nov 07 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
PHP使用Face++接口开发微信公众平台人脸识别系统的方法
Apr 17 PHP
PHP封装的HttpClient类用法实例
Jun 17 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 PHP
PHP数组内存利用率低和弱类型详细解读
Aug 10 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 PHP
Thinkphp5框架实现获取数据库数据到视图的方法
Aug 14 PHP
PHP array_reverse() 函数原理及实例解析
Jul 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
laravel框架使用极光推送消息操作示例
Feb 15 #PHP
You might like
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
php批量删除cookie的简单实现方法
2015/01/26 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
2020/04/07 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
根据鼠标的位置动态的控制层的位置
2009/11/24 Javascript
JS JSON对象转为字符串的简单实现方法
2013/11/18 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
2014/06/15 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
js与jquery分别实现tab标签页功能的方法
2016/11/18 Javascript
jQuery UI制作选项卡(tabs)
2016/12/13 Javascript
JS常见疑难点分析之match,charAt,charCodeAt,map,search用法分析
2016/12/25 Javascript
Bootstrap 轮播(Carousel)插件
2016/12/26 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
vue form 表单提交后刷新页面的方法
2018/09/04 Javascript
微信小程序非跳转式组件授权登录的方法示例
2019/05/22 Javascript
JavaScript:ES2019 的新特性(译)
2019/08/08 Javascript
微信小程序实现点击卡片 翻转效果
2019/09/04 Javascript
jQuery HTML获取内容和属性操作实例分析
2020/05/20 jQuery
SpringBoot+Vue 前后端合并部署的配置方法
2020/12/30 Vue.js
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
Python实现动态添加属性和方法操作示例
2018/07/25 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
详解HTML5 录音的踩坑之旅
2017/12/26 HTML / CSS
中东奢侈品市场:Coveti
2019/05/12 全球购物
银行求职信怎么写
2014/05/26 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
投诉信范文
2015/07/02 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android