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 ...
随机推荐
- spring源码学习之:xml配置文件标签自定义
Spring框架从2.0版本开始,提供了基于Schema风格的XML扩展机制,允许开发者扩展最基本的spring配置文件(一 般是classpath下的spring.xml).试想一下,如果我们直接在 ...
- 使用swiper和吸顶效果代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- jQuery中each的用法之退出循环和结束本次循环
jQuery中each的用法之退出循环和结束本次循环 jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用conti ...
- axure变量的使用
1.什么是变量? 变量在数学中的定义是可以改变的数,在计算机编程中,它是在内存中开辟的一块空间用于存储临时 数据.Axure中的变量和计算机编程中一样,它是一个用于存储临时数据的容器. 2.变量的创建 ...
- 在EntityFramework中使用 nock的方法。
以下内容为转载: A:https://dotblogs.com.tw/asdtey/2009/09/27/10793 B:http://www.gitshah.com/2014/08/how-to-a ...
- shell算术运算与进制运算
(())与let是等效的 arithmetic expression type 与[是等效的 source与.是等效的 其实,Shell(这里是Bash)本身不具备处理浮点计算的能力,但是可以使用“b ...
- #linux包之lsof之lsof命令
2015/3/18查漏补缺,反复练习命令,有不明白或疑问的地方直接看man手册页,英文解释的比较清楚 man lsof 已阅 概述 [root@localhost ~]# rpm -qa|grep l ...
- OpenJudge计算概论-求满足条件的3位数
/*======================================================================== 求满足条件的3位数 总时间限制: 1000ms 内 ...
- OpenJudge计算概论-完美立方【暂时就想到了枚举法了】
/*===================================== 完美立方 总时间限制: 1000ms 内存限制: 65536kB 描述 a的立方 = b的立方 + c的立方 + d的立 ...
- ExtJs学习笔记之Window组件
Window窗体组件 window是一个指定的打算作为一个应用程序窗口的面板,默认窗口是浮动的,resizable, 并且draggable,默认的,窗体靠document.body呈现. 1.示例: ...