解决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下HTTP Response中的Chunked编码实现方法
Nov 19 PHP
基于initPHP的框架介绍
Apr 18 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
Apr 23 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
php递归删除目录下的文件但保留的实例分享
May 10 PHP
PHP文件缓存内容保存格式实例分析
Aug 20 PHP
php生成圆角图片的方法
Apr 07 PHP
PHP比较运算符的详细介绍
Sep 29 PHP
PHP内存使用情况如何获取
Oct 10 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
PHP会话控制实例分析
Dec 24 PHP
PHP输出Excel PHPExcel的方法
Jul 26 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
WordPress主题制作之模板文件的引入方法
2015/12/28 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
幻灯片带网页设计中的20个奇妙应用示例小结
2012/05/27 Javascript
cookie 最近浏览记录(中文escape转码)具体实现
2013/06/08 Javascript
JavaScript实现简单图片滚动附源码下载
2014/06/17 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
jQuery动画效果相关方法实例分析
2015/12/31 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
JS实现一次性弹窗的方法【刷新后不弹出】
2016/12/26 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
基于js文件加载优化(详解)
2018/01/03 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
[00:47]DOTA2荣耀之路6:天火,天火!
2018/05/30 DOTA
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
Pandas之Dropna滤除缺失数据的实现方法
2019/06/25 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
中国茶叶、茶具一站式网上购物商城:醉品茶城
2018/07/03 全球购物
C语言面试题
2015/10/30 面试题
法人委托书范本
2014/09/15 职场文书
基层党员干部四风问题整改方向和措施
2014/09/25 职场文书
党员证明模板
2015/06/19 职场文书
养成教育主题班会
2015/08/13 职场文书
工作报告范文
2019/06/20 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书