解决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
PHP+DBM的同学录程序(1)
Oct 09 PHP
分页详解 从此分页无忧(PHP+mysql)
Nov 23 PHP
PHP 中文乱码解决办法总结分析
Jul 30 PHP
PHP类与对象中的private访问控制的疑问
Nov 01 PHP
php中in_array函数用法分析
Nov 15 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
php开发工具有哪五款
Nov 09 PHP
浅谈PHP中静态方法和非静态方法的相互调用
Oct 04 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 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+javascript液晶时钟
2006/10/09 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
使用Linux五年积累的一些经验技巧
2013/06/20 PHP
php实现的漂亮分页方法
2014/04/17 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
ThinkPHP采用原生query实现关联查询left join实例
2014/12/02 PHP
php生成验证码函数
2015/10/20 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
php使用curl获取header检测开启GZip压缩的方法
2018/08/15 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
2006/06/26 Javascript
js中几种去掉字串左右空格的方法
2006/12/25 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
jQuery让控件左右移动的三种实现方法
2013/09/08 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
微信小程序 this.triggerEvent()的具体使用
2019/12/10 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
python django 访问静态文件出现404或500错误
2017/01/20 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
django2 快速安装指南分享
2018/01/05 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
护士岗前培训自我评鉴
2014/02/28 职场文书
房地产推广策划方案
2014/05/19 职场文书
旅游活动总结
2014/08/27 职场文书
开会通知短信大全
2015/04/20 职场文书
听证通知书
2015/04/24 职场文书
2015年驾驶员工作总结
2015/04/29 职场文书
高中班长竞选稿
2015/11/20 职场文书
Oracle 数据仓库ETL技术之多表插入语句的示例详解
2021/04/12 Oracle
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
2022/04/14 Python