您现在的位置是:网站首页> 编程资料编程资料
解决windows上php xdebug 无法调试的问题_php实例_
2023-05-25
365人已围观
简介 解决windows上php xdebug 无法调试的问题_php实例_
有时候我们在使用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 无法调试的问题,希望对大家有所帮助,也非常感谢大家对网站的支持!
相关内容
- laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析_php实例_
- laravel框架select2多选插件初始化默认选中项操作示例_php实例_
- laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例_php实例_
- PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC_php技巧_
- php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)_php实例_
- 浅析PHP反序列化中过滤函数使用不当导致的对象注入问题_php实例_
- laravel框架使用极光推送消息操作示例_php实例_
- laravel框架使用阿里云短信发送消息操作示例_php实例_
- laravel框架实现敏感词汇过滤功能示例_php实例_
- PHP 枚举类型的管理与设计知识点总结_php实例_
