PHPStorm+XDebug进行调试图文教程

yipeiwu_com6年前PHP代码库

笔者的开发环境如下: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字样,就安装成功了,如下图所示:

检测方法2:

在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,其它默认。如下图所示:

三、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调试教程有所帮助。

相关文章

PDO版本问题 Invalid parameter number: no parameters were bound

今天在处理bug的时候发现某一个很奇怪的问题,在执行某类操作的时候会报:Invalid parameter number: no parameters were bound,但是该问题在...

PHP命名空间namespace用法实例分析

PHP命名空间namespace用法实例分析

本文实例讲述了PHP命名空间namespace用法。分享给大家供大家参考,具体如下: namespace(命名空间)相当于函数、类,划分了一个区域,这样子就使得在同个页面中可以requi...

ajax+php打造进度条代码[readyState各状态说明]

readyState == 状态(0,1,2,3,4) 0:请求未初始化,还没调用open 1:请求已经建立,但还没有发送,还没调用send 2:请求已发送,并且正在处理 3:请求正在处...

php使用glob函数快速查询指定目录文件的方法

本文实例讲述了php使用glob函数快速查询指定目录文件的方法。分享给大家供大家参考。具体如下: php搜索当前目录所有文件,代码如下: 复制代码 代码如下:$array = glob(...

浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)

实例如下: <?php /*分治法——直接选择 比如说a b c 首先将a之后的字符依次与a进行交换 1 b,a,c 2 c,b,a 注意这里少了一个原始数据 a,b,...