PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

这篇文章主要为大家详细介绍了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,然后按照指导安装即可。如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

 

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

 

(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)

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

 

检测方法2:(这里有显示是因为在终端环境下加载的是php里面的php.ini)

在cmd下输入php -m,能看到XDebug说明配置成功。如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

 

二、PHPStorm中XDebug配置在【File】->【Settings】->【Languages & Frameworks】->【PHP】的Setting中:

(1)配置PHP Server找到【Servers】,配置项如下: Name:localhostHost:localhostPort:80Debugger:XDebug如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

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

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

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的版本

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

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

XAMPP+phpStorm+XDebug+chrome 配置和断点调试" title="本地环境 XAMPP+phpStorm+XDebug+chrome 配置和断点调试" height="305" width="558">

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插件如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

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

localhost如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

四、使用XDebug调试方法及步骤

(1)在PHPStorm中开启Debug监听点击那个像电话一样的图标即可开启Debug监听,如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

(2)在Chrome浏览器中开启XDebug helper插件

方法一:在地址栏中,点击那个的虫子,选择Debug,如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

方法二:使用快捷键:CTRL+SHIFT+X进行配置。

(3)在PHPStorm中设置断点在行号后面空白处单击即可设置断点。

(4)断点调试然后在浏览器中引导到相应的断点处的方法即可自动被断下来,如下图所示:

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

红色框框中有所有的断点处理方式及快捷键提示。

以上就是本文的全部内容,希望对大家学习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。

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

下面我们来看一下命令行下面的配置文件信息,来验证我们的说法。这和前面说的一致,当你需要加载某个库,以便你的脚本能运行时,可以在终端里面输入上面的命令。

服务器方面。我们才会用phpinfo.php来查看

<?php
    phpinfo();
 ?>

然后我们查找一下“php.ini”的位置,可以看到如下的内容!

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

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

PHPStorm+XDebug进行调试图文教程以及解析wamp的php.ini设置不生效的原因

综上,我们可以知道,wamp这个套件有两个php.ini,分别为命令行和apache服务器提供配置信息。我们要根据自己运行情况去修改!http://www.mamicode.com/info-detail-515942.html

上一篇:PHP截断函数mb_substr()


下一篇:XAMPP环境下用phpStorm+XDebug进行断点调试的配置