解决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的安全策略
Oct 09 PHP
PHP4实际应用经验篇(3)
Oct 09 PHP
PHP详细彻底学习Smarty
Mar 27 PHP
在PHP中读取和写入WORD文档的代码
Apr 09 PHP
PHP Stream_*系列函数
Aug 01 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 PHP
解析php中var_dump,var_export,print_r三个函数的区别
Jun 21 PHP
PHP使用range协议实现输出文件断点续传代码实例
Jul 04 PHP
通过php修改xml文档内容的方法
Jan 23 PHP
php删除文本文件中重复行的方法
Apr 28 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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 skymvc 一款轻量、简单的php
2011/06/28 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
php中删除、清空session的方式总结
2015/10/09 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
基于JQuery实现鼠标点击文本框显示隐藏提示文本
2012/02/23 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
JS实现搜索框文字可删除功能
2016/12/28 Javascript
webpack构建vue项目的详细教程(配置篇)
2017/07/17 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
利用原生JavaScript实现造日历轮子实例代码
2019/05/08 Javascript
Vue+Bootstrap收藏(点赞)功能逻辑与具体实现
2020/10/22 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
[49:13]DOTA2上海特级锦标赛C组资格赛#1 OG VS LGD第一局
2016/02/27 DOTA
Python中使用异常处理来判断运行的操作系统平台方法
2015/01/22 Python
解决出现Incorrect integer value: '' for column 'id' at row 1的问题
2017/10/29 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
在pycharm上mongodb配置及可视化设置方法
2018/11/30 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
人事专员岗位职责
2013/11/20 职场文书
大型晚会策划方案
2014/02/06 职场文书
工作建议书范文
2014/05/13 职场文书
企业授权委托书范本
2014/09/22 职场文书
广告设计专业毕业生自我鉴定
2014/09/27 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
2014年留守儿童工作总结
2014/12/10 职场文书
2015年党小组工作总结
2015/05/26 职场文书
php访问对象中的成员的实例方法
2021/11/17 PHP
vue使用refs获取嵌套组件中的值过程
2022/03/31 Vue.js