PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因
笔者的开发环境如下: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按照上图下载“php_xdebug-2.3.2-5.4-vc9.dll”,将其复制到d:\php\ext\目录。
(3)配置XDebug打开d:\php\php.ini,在末尾增加如下代码:
[Xdebug]
zend_extension = d:\php\ext\php_xdebug-2.3.2-5.4-vc9.dll
xdebug.remote_enable =1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_mode = "req"
xdebug.remote_port = 9000
重启Apache。
(4)验证安装是否成功
检测方法1:在phpinfo网页中,能够检索到XDebug字样,就安装成功了,如下图所示:(这里失效是因为在wamp环境下加载的是apache里面的php.ini)

检测方法2:(这里有显示是因为在终端环境下加载的是php里面的php.ini)
在cmd下输入php -m,能看到XDebug说明配置成功。如下图所示:

二、PHPStorm中XDebug配置在【File】->【Settings】->【Languages & Frameworks】->【PHP】的Setting中:
(1)配置PHP Server找到【Servers】,配置项如下: Name:localhostHost:localhostPort:80Debugger:XDebug如下图所示:

(2)配置PHP Debug找到【Debug】,XDebug中的Debug Port填写9000,其它默认。如下图所示:

5. 下面是客户端调试。打开phpStorm,进入File>Settings>PHP,这里要interpreter浏览,填D:\xampp\php\php.exe,自动识别版本。
原因是phpstorm 自带的php 插件安装包不完整,路径 C:\Program Files\JetBrains\PhpStorm 10.0\plugins\php 只有一个lib 库; 解决办法,需要装一个xampp 工具包,工具包里自带php 5.6 版本 然后重新将php interpreter 路径指导wamp 安装路径下的php 所在路径,即可detect到php的版本

6. 进入File>Settings>PHP>Servers,这里要填写服务器端的相关信息,name填localhost,host填localhost,port填80,debugger选XDebug。图7
XAMPP+phpStorm+XDebug+chrome 配置和断点调试">
7. 进入File>Settings>PHP>Debug,看到XDebug选项卡,port填9000,其他默认。图8
8. 进入File>Settings>PHP>Debug>DBGp Proxy,IDE key 填 PHPSTORM,host 填localhost,port 填9000,点OK退出设置。图9
XAMPP+phpStorm+XDebug+chrome 配置和断点调试">
9. 进入Run> Debug configurations,点+号,Server选填localhost,start url填http://localhost/9999m, Browse 填chrome,点OK退出设置。图10
XAMPP+phpStorm+XDebug+chrome 配置和断点调试">
三、Fireforx中XDebog helper插件的配置
(1)安装XDebug helper插件如下图所示:

(2)配置XDebug helper插件在上图中,点击【选项】,然后按照如下进行配置:IDE key:PhpStormDomain filter:
localhost如下图所示:

四、使用XDebug调试方法及步骤
(1)在PHPStorm中开启Debug监听点击那个像电话一样的图标即可开启Debug监听,如下图所示:

(2)在Chrome浏览器中开启XDebug helper插件
方法一:在地址栏中,点击那个的虫子,选择Debug,如下图所示:

方法二:使用快捷键:CTRL+SHIFT+X进行配置。
(3)在PHPStorm中设置断点在行号后面空白处单击即可设置断点。
(4)断点调试然后在浏览器中引导到相应的断点处的方法即可自动被断下来,如下图所示:

红色框框中有所有的断点处理方式及快捷键提示。
以上就是本文的全部内容,希望对大家学习PHP调试教程有所帮助。
在一键集成环境Wamp中加载Xdebug为什么不成功呢,主要原因如下:
你是否有过这样的经历,当你打开wamp的php.ini,并进行参数修改之后。再回到命令去运行你的php脚本,却发现你的设置居然不生效?
如果有这样的情况,那你得先了解php的两种运行运行环境,一个在命令终端上,一种是在服务器上(在这里还细分cgi,fast-cgi,web模块模式)!
当我们以脚本运行我们的php脚本的时候,比如我这里将wamp安装在D盘。在wamp中加载的d:\wamp\bin\php\php5.xx\php.ini;而在apache服务器运行的时候,则变成D:\wamp\bin\apache\Apache2.2.21\bin\php.ini,可以看到这两个方式加载的php.ini不一样!
如果你实在找不到这两个,可以在安装wamp的盘符里面,进入wamp的文件夹,然后进行搜索‘php.ini‘。
平常我们修改的是apache服务器上的php.ini。

下面我们来看一下命令行下面的配置文件信息,来验证我们的说法。这和前面说的一致,当你需要加载某个库,以便你的脚本能运行时,可以在终端里面输入上面的命令。
服务器方面。我们才会用phpinfo.php来查看
<?php
phpinfo();
?>
然后我们查找一下“php.ini”的位置,可以看到如下的内容!

这样我们就明了,而致于上面这个路径,应该是其编译的时候就行硬编码而来的,下面是我们在C:\windows下查找php.ini文件的结果

综上,我们可以知道,wamp这个套件有两个php.ini,分别为命令行和apache服务器提供配置信息。我们要根据自己运行情况去修改!http://www.mamicode.com/info-detail-515942.html
PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因的更多相关文章
- 解析wamp的php.ini设置不生效的原因
你是否有过这样的经历,当你打开wamp的php.ini,并进行参数修改之后.再回到命令去运行你的php脚本,却发现你的设置居然不生效? 如果有这样的情况,那你得先了解php的两种运行运行环境,一个在命 ...
- 转:PHPStorm+XDebug进行调试图文教程
原文:PHPStorm+XDebug进行调试图文教程 一.XDebug安装配置 (1)下载XDebug下载地址:http://www.xdebug.org/必须下载跟机器上安装的php匹配的版本才行. ...
- 【PHP】- PHPStorm+XDebug进行调试图文教程
转载:https://www.cnblogs.com/LWMLWM/p/8251905.html 这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的 ...
- PHPStorm+XDebug进行调试图文教程
这篇文章主要为大家详细介绍了PHPStorm+XDebug进行调试图文教程,内容很丰富,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 另外如果你们加载不出图片,另外的地址:转载地址https:// ...
- PhpStorm+xdebug+postman调试
PhpStorm+xdebug+postman调试 写PHP时,一直用postman做测试,最近发现在测试过程中可以用xdebug来断点调试,比原来手动打exit或者die来断点效率高多了. 下面记录 ...
- PhpStorm Xdebug远程调试环境搭建原理分析及问题排查
2017年05月26日 经验心得 目录 一. 环境介绍 二. 远程环境配置 2.2 Xdebug安装 2.3 配置 三. 本地phpstorm配置 3.1 下载远程代码 3.2 添加php解释器 ...
- php安装xdebug扩展,PHPStorm+XDebug单步调试
(一)php安装xdebug扩展,PHPStorm+XDebug单步调试 (二)PHPStorm配置XDebug (三)PHPStorm使用XDebug调试 (四)PhpStorm+Xdebug配置单 ...
- php window系统 xdebug+phpstorm 本地断点调试使用教程
运行环境: phpStorm 2017.2 PHP 7.1.5 Xdebug 2.6.1 php.ini添加xdebug模块 你需要仔细分析和选择要下载的对应版本,否则无法调试.由于非常容易出错,建议 ...
- PhpStorm XDebug 远程调试
现在我们自己公司的各种开发和测试服务器,都是使用阿里云的服务器.一些PHP的项目,无法在本地搭建完整的环境,在外网服务器上调试更方便定位问题.发现网上没有完整的关于如何配置PHPStorm和XDebu ...
随机推荐
- Android Facebook和Twitter分享
1. 背景 在年初的时候,公司的项目有个新的需求,在英文版的应用中加入Facebook和Twitter分享功能. 2. 完成情况 由于这个项目比较急,所以开发这个功能从预研到接入总共耗时一周.后来,在 ...
- JavaScript 全选函数的实现
Html代码: <table id="purchase-info" class="table table-bordered table-hover table-st ...
- 前端页面div float 后高度 height 自适应的问题
最近在画项目页面的时候遇到了一个左侧div一旦加上float:left 属性后,设置其高度height:100% 不起作用,后来网上查了半天也没有找到很好的解决方案,只在csdn里发现了这个马上记录下 ...
- 解决Navicat无法连接Oracle的问题
G:\app\hoge\product\11.2.0\dbhome_3\BIN
- 详解MySQL大表优化方案( 转)
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...
- html标记语言的标准写法-参考自http://www.zhihu.com/question/20797118/answer/16212312
网页头部的声明应该是用 lang="zh" 还是 lang="zh-cn"? 添加评论 查看全部 12 个回答 skydiver ,程序员 5 人赞 ...
- ajax语法
js语言功能比较强大,但不能访问数据库 ajax来补充这一缺陷 特点:输出不用刷新页面,条件查询数据显示页面上一般不用它,因为需要造很多表格不如用嵌入php代码方式简单 ajax语法: $.ajax( ...
- C# & SQL Server大数据量插入方式对比
以下内容大部分来自: http://blog.csdn.net/tjvictor/article/details/4360030 部分内容出自互联网,实验结果为亲测. 最近自己开发一个向数据库中插入大 ...
- HTML 属性
HTML 属性 HTML 元素 HTML 标题 属性为 HTML 元素提供附加信息. HTML 属性 HTML 标签可以拥有属性.属性提供了有关 HTML 元素的更多的信息. 属性总是以名称/值对的形 ...
- [Spring] IOC - study
Spring IOC简单注入例子,本例子使用JUnit进行测试.Spring版本:3.2 项目结构: Spring所需引用的JAR包: Spring XML配置: springContext.xml ...