解决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+mysql一个名片库程序
Oct 09 PHP
mac下使用brew配置环境的步骤分享
May 23 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
php selectradio和checkbox默认选择的实现方法详解
Jun 29 PHP
php计算到指定日期还有多少天的方法
Apr 14 PHP
WordPress开发中自定义菜单的相关PHP函数使用简介
Jan 05 PHP
php多线程并发实现方法
Sep 30 PHP
PHP对象实例化单例方法
Jan 19 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 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 生成文字png图片的代码
2011/04/17 PHP
PHP中soap的用法实例
2014/10/24 PHP
php递归法读取目录及文件的方法
2015/01/30 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
JavaScript省市级联下拉菜单实例
2017/02/14 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
2019/10/29 Javascript
《javascript设计模式》学习笔记七:Javascript面向对象程序设计组合模式详解
2020/04/08 Javascript
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
Python元组知识点总结
2019/02/18 Python
python智联招聘爬虫并导入到excel代码实例
2019/09/09 Python
在OpenCV里实现条码区域识别的方法示例
2019/12/04 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
selenium如何定位span元素的实现
2021/01/13 Python
用CSS3实现无限循环的无缝滚动的实例代码
2017/07/04 HTML / CSS
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
澳大利亚潮流尖端的快时尚品牌:Cotton On
2016/09/26 全球购物
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
班组长的岗位职责
2013/12/09 职场文书
竞聘副主任科员演讲稿
2014/01/11 职场文书
授权委托书范本
2014/04/03 职场文书
支部书记四风问题自我剖析材料
2014/09/29 职场文书
股东授权委托书
2014/10/15 职场文书
企业承诺书格式范文
2015/04/28 职场文书
八年级作文之友谊
2019/12/02 职场文书
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python