解决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边学边教》(01.开篇――准备工作)
Dec 13 PHP
php 魔术方法使用说明
Oct 20 PHP
解析php开发中的中文编码问题
Aug 08 PHP
php解压文件代码实现php在线解压
Feb 13 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
Jul 01 PHP
64位windows系统下安装Memcache缓存
Dec 06 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
php mysql PDO 查询操作的实例详解
Sep 23 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 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
php 函数中静态变量使用的问题实例分析
Mar 05 #PHP
You might like
匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来
2011/12/25 PHP
PHP中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
XAMPP安装与使用方法详细解析
2013/11/27 PHP
php中Ioc(控制反转)和Di(依赖注入)
2017/05/07 PHP
类之Prototype.js学习
2007/06/13 Javascript
使用typeof判断function是否存在于上下文
2014/08/14 Javascript
jQuery中:gt选择器用法实例
2014/12/29 Javascript
理解javascript封装
2016/02/23 Javascript
详解JavaScript中数组和字符串的lastIndexOf()方法使用
2016/03/13 Javascript
基于javascript实现图片切换效果
2016/04/17 Javascript
Node.js插件安装图文教程
2016/05/06 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
微信小程序 wxapp内容组件 icon详细介绍
2016/10/31 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
2016/12/21 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
python sys模块sys.path使用方法示例
2013/12/04 Python
python应用程序在windows下不出现cmd窗口的办法
2014/05/29 Python
python生成日历实例解析
2014/08/21 Python
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
python实现树形打印目录结构
2018/03/29 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
2019/01/15 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
python识别验证码图片实例详解
2020/02/17 Python
跑鞋、网球鞋、网球拍、服装及装备:Holabird Sports
2016/09/19 全球购物
英国优质鞋类专家:Robinson’s Shoes
2017/12/08 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
抗震救灾标语
2014/06/26 职场文书
超市创意活动方案
2014/08/15 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
学生犯错保证书
2015/05/09 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang