解决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 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
基于php伪静态的实现详细介绍
Apr 28 PHP
深入apache配置文件httpd.conf的部分参数说明
Jun 28 PHP
php中如何同时使用session和cookie来保存用户登录信息
Jul 05 PHP
PHP高级编程实例:编写守护进程
Sep 02 PHP
win平台安装配置Nginx+php+mysql 环境
Jan 12 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
php格式文件打开的四种方法
Feb 24 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
Apr 10 PHP
php+ajax实现商品对比功能示例
Apr 13 PHP
thinkphp5.1框架模板赋值与变量输出示例
May 25 PHP
PHP笛卡尔积实现原理及代码实例
Dec 09 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 Try Catch异常测试
2009/03/01 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
PHP解决中文乱码
2017/04/28 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
javascript html5移动端轻松实现文件上传
2020/03/27 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
JS实现简单的右下角弹出提示窗口完整实例
2016/06/21 Javascript
详解react如何在组件中获取路由参数
2017/06/15 Javascript
JS实现遍历不规则多维数组的方法
2018/03/21 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
layui switch 开关监听 弹出确定状态转换的例子
2019/09/21 Javascript
Vue项目中如何使用Axios封装http请求详解
2019/10/23 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
[48:22]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
在Python中处理列表之reverse()方法的使用教程
2015/05/21 Python
TensorFlow变量管理详解
2018/03/10 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
用python发送微信消息
2020/12/21 Python
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
SKECHERS斯凯奇中国官网:来自美国的运动休闲品牌
2018/11/14 全球购物
你懂得怎么写自荐信吗?
2013/12/27 职场文书
党员教师工作决心书
2014/03/13 职场文书
处级领导班子全部召开专题民主生活会情况汇报
2014/09/27 职场文书
处罚决定书范文
2015/06/24 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
一定要知道的 25 个 Vue 技巧
2021/11/02 Vue.js
德劲DE1105机评
2022/04/05 无线电
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers