解决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的一个登录的类 [推荐]
Mar 16 PHP
PHP常用代码大全(新手入门必备)
Jun 29 PHP
数据库中排序的对比及使用条件详解
Feb 23 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
PHP生成随机密码方法汇总
Aug 27 PHP
php解析url并得到url中的参数及获取url参数的四种方式
Oct 26 PHP
php数组冒泡排序算法实例
May 06 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
PHP的mysqli_stat()函数讲解
Jan 23 PHP
thinkphp5.1框架模板布局与模板继承用法分析
Jul 19 PHP
PHP7修改的函数
Mar 09 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你的验证码安全码?
2007/01/02 PHP
php中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
2014/04/24 PHP
PHP实现定时执行任务的方法
2014/10/05 PHP
php in_array() 检查数组中是否存在某个值详解
2016/11/23 PHP
php中的explode()函数实例介绍
2019/01/18 PHP
JavaScript iframe的相互操作浅析
2009/10/14 Javascript
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
原生javaScript实现图片延时加载的方法
2014/12/22 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
BootstrapValidator不触发校验的实现代码
2016/09/28 Javascript
浅谈Vue.js 1.x 和 2.x 实例的生命周期
2017/07/25 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
详解Python Socket网络编程
2016/01/05 Python
Python贪心算法实例小结
2018/04/22 Python
python range()函数取反序遍历sequence的方法
2018/06/25 Python
Python多版本开发环境管理工具介绍
2019/07/03 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
如何通过安装HomeBrew来安装Python3
2020/12/23 Python
英国护肤品购物网站:Beauty Expert
2016/08/19 全球购物
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
《太阳》教学反思
2014/02/21 职场文书
办公设备采购方案
2014/03/16 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
建筑工地文明标语
2014/10/09 职场文书
第二次离婚起诉书
2015/05/18 职场文书
超级礼物观后感
2015/06/15 职场文书
资深HR教你写好简历中的自我评价
2019/05/07 职场文书