解决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的面试题集,附我的答案和分析(一)
Nov 19 PHP
PHP 开发环境配置(Zend Studio)
Apr 28 PHP
PHP备份数据库生成SQL文件并下载的函数代码
Feb 05 PHP
PHP中extract()函数的妙用分析
Jul 11 PHP
php从数组中随机抽取一些元素的代码
Nov 05 PHP
Yii PHP Framework实用入门教程(详细介绍)
Jun 18 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
php文件上传的例子及参数详解
Dec 12 PHP
php的memcache类分享(memcache队列)
Mar 26 PHP
php获取中文拼音首字母类和函数分享
Apr 24 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
PDO::_construct讲解
Jan 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
php不用正则采集速度探究总结
2008/03/24 PHP
flash用php连接数据库的代码
2011/04/21 PHP
php编写的简单页面跳转功能实现代码
2013/11/27 PHP
php实现高效获取图片尺寸的方法
2014/12/12 PHP
纯php生成随机密码
2015/10/30 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
PHP通过文件路径获取文件名的实例代码
2018/10/14 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
js replace 与replaceall实例用法详解
2013/08/03 Javascript
JavaScript中字符串拼接的基本方法
2015/07/07 Javascript
JS截取与分割字符串常用技巧总结
2015/11/10 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
详解JavaScript的BUG和错误
2018/05/07 Javascript
小程序根据手机机型设置自定义底部导航距离
2019/06/04 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
解决Vue-cli无法编译es6的问题
2020/10/30 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
Python统计纯文本文件中英文单词出现个数的方法总结【测试可用】
2018/07/25 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
python两种获取剪贴板内容的方法
2020/11/06 Python
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
2013年高中生自我评价
2013/10/23 职场文书
安全生产检讨书
2014/01/21 职场文书
教学改革实施方案
2014/03/31 职场文书
警示教育活动总结
2014/05/05 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
成绩单家长意见
2015/06/03 职场文书
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android