解决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 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
Banner程序
Oct 09 PHP
PHP教程 变量定义
Oct 23 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
php数组中删除元素之重新索引的方法
Sep 16 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
php文件扩展名判断及获取文件扩展名的N种方法
Sep 12 PHP
详谈php静态方法及普通方法的区别
Oct 04 PHP
thinkPHP内置字符串截取函数用法详解
Nov 15 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
Apr 13 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
《破坏领主》销量已超100万 未来将继续开发新内容
2020/03/08 其他游戏
解决GD中文乱码问题
2007/02/14 PHP
判断、添加和删除WordPress置顶文章的相关PHP函数小结
2015/12/10 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
laravel migrate初学常见错误的解决方法
2017/10/11 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
js弹出div并显示遮罩层
2014/02/12 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
IE8中动态创建script标签onload无效的解决方法
2014/12/22 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
剖析Angular Component的源码示例
2018/03/23 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
vue.js watch经常失效的场景与解决方案
2021/01/07 Vue.js
Python探索之自定义实现线程池
2017/10/27 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
2019/06/27 Python
HTML5 File接口在web页面上使用文件下载
2017/02/27 HTML / CSS
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
世界汽车零件:World Car Parts
2019/09/04 全球购物
毕业生求职推荐信
2013/11/04 职场文书
客户接待方案
2014/02/26 职场文书
2014年销售部工作总结
2014/12/01 职场文书
2014年网管工作总结
2014/12/11 职场文书
SQL SERVER存储过程用法详解
2022/02/24 SQL Server