解决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 相关文章推荐
用libTemplate实现静态网页的生成
Oct 09 PHP
PHP的cURL库功能简介 抓取网页、POST数据及其他
Apr 07 PHP
php二维数组排序方法(array_multisort usort)
Dec 25 PHP
php比较两个绝对时间的大小
Jan 31 PHP
使用php记录用户通过搜索引擎进网站的关键词
Feb 13 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
php生成gif动画的方法
Nov 05 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
PHP反射API示例分享
Oct 08 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
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
PHP简单获取多个checkbox值的方法
2016/06/13 PHP
PHP 获取指定地区的天气实例代码
2017/02/08 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
javascript Array数组对象的扩展函数代码
2010/05/22 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
javascript面向对象编程代码
2011/12/19 Javascript
实现点击列表弹出列表索引的两种方式
2013/03/08 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
2016/02/24 Javascript
JavaScript利用HTML DOM进行文档操作的方法
2016/03/28 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
iscroll-probe实现下拉刷新和下拉加载效果
2017/06/28 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
JS实现匀加速与匀减速运动的方法示例
2017/09/04 Javascript
Node错误处理笔记之挖坑系列教程
2018/06/05 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
NUXT SSR初级入门笔记(小结)
2019/12/16 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
python距离测量的方法
2018/03/06 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
详解移动端Html5页面中1px边框的几种解决方法
2018/07/24 HTML / CSS
刚毕业大学生自荐信范文
2014/02/20 职场文书
人事专员的职责
2014/02/26 职场文书
竞聘自述材料
2014/08/25 职场文书
离婚协议书范本
2015/01/26 职场文书
法院答辩状格式
2015/05/22 职场文书
银行求职信范文
2019/05/13 职场文书
MySQL下载安装配置详细教程 附下载资源
2022/09/23 MySQL