解决windows上php xdebug 无法调试的问题
有时候我们在使用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 无法调试的问题,希望对大家有所帮助,也非常感谢大家对我们网站的支持!
相关推荐
-
使用Xdebug调试和优化PHP程序之[1]
作者:Haohappy MSN: haohappy at msn.com Blog: http://blog.csdn.net/haohappy2004 2006-07-04 为什么需要Debugger? 很多PHP程序员调试使用echo.print_r().var_dump().printf()等,其实对于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以看出来(当然可能还需要使用一些时间函数
-
Phpstorm+Xdebug断点调试PHP的方法
为什么使用断点调试 大家可能会觉得使用var_dump和echo也能调试啊,为什么还要安装Xdebug断点调试呢? 确实是这样.但是var_dump和echo写的代码后面还要删除,而且明确是知道在哪打的,如果发现没有运行到打点的地方,还要修改代码再运行一次.而断点调试,可以在调试过程中动态打断点,逐行查看当前各个变量的值,甚至临时修改变量的值,更方便.建议大家使用Xdebug断点调试. 安装Xdebug pecl install xdebug 如果是php7以下版本,需要加上版本号: pecl
-
使用NetBeans + Xdebug调试PHP程序的方法
按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了,试用过程中因为DBGP插件也存在许多缺陷,烦恼不断,经常性地stack overflow,很是遗憾.后来想想Np++只是Editor,不要对它强求过多,插件的版本也比较低,存在许多BUG也是可以理解的,等它慢慢完善再说吧,开源社区的力量可是很强大的,^^.昨晚在坛里某位同志的博文里再次见到了NetBeans这个熟悉的字眼(之前选开发环境的时候因为NB非常强大,功能设置很人性化,界面非常
-
使用PHPStorm+XDebug搭建单步调试环境
PHP是一个解释执行的语言,一般来说,进行调试的时候,只要通过使用 var_dump 或者 var_export 两个函数,就可以得到PHP中变量的值,达到调试的地步,但是对于大型项目,或者想研究一下别人的代码时,使用单步调试会变得简单的多.就拿目前最流行的 PHP Laravel 框架为例子,使用 PHPStorm 搭建单步调试环境. PHPStorm安装和基本配置 PHPStorm下载安装 PHPStorm除了体积有些大外,算是PHP IDE中非常强大便捷的开发环境.官网下载地址:https
-
php Xdebug 调试扩展的安装与使用.
Xdebug安装 下载xdebug扩展的时候注意xdebug的版本与php版本相对应,不然出现不必要的麻烦! 我自己使用的是PHP5.2.5,下载的xdebug文件名为:php_xdebug-2.0.3-5.2.5.dll,将文件放到php/ext文件夹下即可 3.配置 xdebug配置 打开php.ini 在最后一行加入以下配置代码,配置说明已经做好注释 ;载入Xdebug zend_extension_ts="c:/php/ext/php_xdebug-2.0.4-5.2.8.dll&quo
-
PHPStorm+XDebug进行调试图文教程
笔者的开发环境如下:Windows8.1+Apache+PhpStorm+XDebug+Firefox(XDebug helper 1.4.3插件). 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行.具体下载方法如下:将phpinfo网页的源代码拷贝到http://www.xdebug.org/find-binary.php,然后按照指导安装即可.如下图所示: (2)安装XDebug按照上图下载"p
-
php性能优化分析工具XDebug 大型网站调试工具
一.安装配置 1.下载PHP的XDebug扩展,网址:http://xdebug.org/ 2.在Linux下编译安装XDebug 引用 tar -xzf xdebug-2.0.0RC3.gz cd xdebug-2.0.0RC3 /usr/local/php/bin/phpize ./configure --enable-xdebug cp modules/xdebug.so /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
-
phpstorm配置Xdebug进行调试PHP教程
运行环境: PHPSTORM版本 : 8.0.1 PHP版本 : 5.6.2 xdebug版本:php_xdebug-2.2.5-5.6-vc11-x86_64.dll ps : php版本和xdebug版本一定要相对应 1. PHP安装xdebug扩展 php.ini的配置,下面的配置仅供参考,路径要换成自己的! [xdebug] zend_extension="D:\wamp\php-5.6.2-x64\ext\php_xdebug-2.2.5-5.6-vc11-x86_64.dll&quo
-
PHP 7安装调试工具Xdebug扩展的方法教程
前言 说到PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来说有一定的难度,而且仅仅通过上述这些PHP调试手段,也很难准确发现PHP性能方面的问题,Xdebug是一个非常有用的PHP调试工具. 测试环境 LNMP 军哥一键包1.3版本 PHP 7.0.7 Xdebug 2.6 配置步骤 根据自身环境执行下列命令进行安装,切记不可原样复制执行 git c
-
解决windows上php xdebug 无法调试的问题
有时候我们在使用php和nginx进行开发的时候,会出现这样的情况,明明扩展已经安装,但是就是无法调试成功.这个时候我们就要耐心去分析问题产生的原因. 第一步:查看php的版本比如是否是x64还是x86,看看xdebug是否激活,可以通过phpinfo();来查看扩展是否激活. 第二步:使用php -m再次检查xdebug是否安装. 这个时候可能会遇到 xdebug must be loaded as zend extension .这个是因为我们在php.ini中配置extension的时候需
-
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
最近打算开始研究一下机器学习,今天在windows上装tensorflow花了点功夫,其实前面的步骤不难,只要依次装好python3.5,numpy,tensorflow就行了,有一点要注意的是目前只有python3.5能装tensorflow,最新版的python3.6都不行. 装好tensorflow后,我建议大家不要直接用测试用例进行测试(如果没装好的话出现的错误一般都是:module 'tensorflow' has no attribute 'constant').第一次测试时可以在p
-
VMware Workstation Pro 无法在Windows上运行的解决方法
经过十一假期,是不是有同学发现windows更新后 VMware虚拟机打不开了,显示"VMware Workstation Pro 无法在Windows上运行"的提示.我的虚拟机版本是VMware Workstation Pro12,经过本人亲测,把最近更新的windows安装包卸载重启即可.或者把虚拟机版本升级到15版本也可以解决(本人未测试) 卸载windows安装包步骤: 1 win+R键,输入control 打开控制面板 2 点击 程序 里的 卸载程序 3 点击查看已安装的更新
-
python 解决Windows平台上路径有空格的问题
最近在采集windows上中间件的时候,遇到了文件路径有空格的问题. 例如:Aapche的安装路径为D:\Program Files\Apache Software Foundation\Apache2.2. 采集apache要读取配置文件D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 执行一些D:\Program Files\Apache Software Foundation\Apache2.2\bi
-
PhpStorm+xdebug+postman调试技巧分享
下面记录下我自己从安装到测试的全部详细过程.我的运行环境是:windows+wamp 一.配置wamp安装目录下的php.ini文件 我的安装目录是:C:\wamp64\bin\apache\apache2.4.23\bin 1 zend_extension ="c:/wamp64/bin/php/php5.6.31/zend_ext/php_xdebug-2.5.5-5.6-vc11-x86_64.dll" 2 xdebug.remote_enable = on 3 xdebug.p
-
如何解决Windows Vista中无法通过锐捷认证上网的问题
许多学校在寝室里上网都需要一个认证软件,连上内网之后才能通过VPN上外网,而在Windows Vista下面这些个软件可能工作不正常,从而在Windows Vista里不能上网.很不幸,我们学校就是其中这一. 寝室上网需要先用锐捷连上内网,再通过VPN连接外网.刚开始的时候,弄了半天,锐捷客户端硬是不能获取网卡信息,然后在Windows Vista里右下角的网络图标提示信息显示为"未识别的网络",然后VPN拨号不可用. 在网上翻了一大会,终于给找到了解决办法,下面是步骤: 1. 下载并
-
mysql 5.7.9 winx64在windows上安装遇到的问题
mysql5.7.9版本以上在windwos上安装时会遇到无法启动但是没有任何报错的问题,那是因为5.7.9以上的版本在MySQL目录下会缺少data目录: Data目录下存储的是一些表文件,用来描述数据.结构等,data目录不能自建,必须自动生产,但是可以从正常版本拷过来 其实修改很简单,只要一条命令即可:#mysql --initialize 之后再次启动就成功了 MySQL安装好之后,正常情况下是没有密码的(除非自己添加),直接命令进去#mysql -uroot -p ,不用输入密码直接回
-
使用ngrok+express解决本地环境中微信接口调试问题
在微信项目的开发的时候,经常需要对微信jssdk提供的接口进行调试,比如说录音, 分享 ,上传图像等接口,但是微信jssdk要求绑定安全域名才能使用其提供的一系列功能 , 而在开发环境中使用localhost或者本地ip无法完成域名的认证和绑定, 所以无法在本地调试 .当然有一种迫不得已方法 ,就是在本地开发完 ,打包发到公司的测试服务器上 ,利用测试服务器认证后的域名进行调试,每次改动,调试都要发一遍测试,显然这种方法非常麻烦且很不科学,所以这篇文章就针对这个问题介绍一下如何利用ngrok和e
-
详解TensorFlow在windows上安装与简单示例
本文介绍了详解TensorFlow在windows上安装与简单示例,分享给大家,具体如下: 安装说明 平台:目前可在Ubuntu.Mac OS.Windows上安装 版本:提供gpu版本.cpu版本 安装方式:pip方式.Anaconda方式 Tips: 在Windows上目前支持python3.5.x gpu版本需要cuda8,cudnn5.1 安装进度 2017/3/4进度: Anaconda 4.3(对应python3.6)正在安装,又删除了,一无所有了 2017/3/5进度: Anaco
-
Asp.net core利用IIS在windows上进行托管步骤详解
摘要 最近项目中,尝试使用asp.net core开发,在部署的时候,考虑现有硬件,只能部署在windows上,linux服务器暂时没有.下面话不多说了,来一起看看详细的介绍吧. 部署注意事项 代码中启用iis和Kestrel public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[]
随机推荐
- json的前台操作和后台操作实现代码
- MongoDB 中Limit与Skip的使用方法详解
- 批处理 用户是否存在判断
- iOS本地动态生成验证码的方法
- JavaScript XML操作 封装类
- Yii把CGridView文本框换成下拉框的方法
- 如何解决C语言,函数名与宏冲突
- win7下docker安装与报错问题的解决方法
- PHP二维数组去重实例分析
- 编写轻量ajax组件02--浅析AjaxPro
- jquery css实现邮箱自动补全
- 利用Java计算某个日期是星期几
- JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
- 探讨C++中数组名与指针的用法比较分析
- Android实现有视差效果的ListView
- java枚举的使用示例
- Android开发中那些需要注意的坑
- android实现图片闪烁动画效果的两种实现方式(实用性高)
- 详解PHP文件的自动加载(autoloading)
- vue.js实现回到顶部动画效果