快捷搜索:

在 Windows 下使用 Notepad++ 和 xdebug 调试 php 脚本

先容

Notepad++ 是开放源代码的可替代记事本的编辑器。它运行于 MS Windows 情况,支持多种编程说话。可以浏览 http://notepad-plus.sourceforge.net/ 懂得更多相关信息。

Xdebug 是 php 的一个扩展,它供给了对 php 脚本进行除错、追踪、反省的各类功能。可以浏览 http://xdebug.org 懂得更多相关信息。

下载

Notepad++ 下载地址:http://nchc.dl.sourceforge.net/sourceforge/notepad-plus/npp.4.7.5.Installer.exe

Notepad++ 插件 DBGP plugin:http://nchc.dl.sourceforge.net/sourceforge/npp-plugins/DBGpPlugin_0_7b_fix_dll.zip

xdebug:http://xdebug.org/link.php?url=xdebug202-52-win

* xdebug 的版本必要匹配情况应用的 PHP 版本,这里供给的链接为 PHP 5.2.1-5.2.7 应用 xdebug。

xdebug helper for firefox:https://addons.mozilla.org/zh-CN/firefox/addon/3960

安装

Notepad++ 的安装要领犹如大年夜多半 Windows 下软件一样是异常简单的。只需按照屏幕提示设置并点击“下一步”,着末“完成”即可安装成功。

为了让 Notepad++ 和 xdebug 协同事情,必要安装 DBGP plugin。下载后只需解压缩至 Notepad++ 安装目录中的 plugins 目录即可,如:C:Program FilesNotepad++plugins。

xdebug 的安装请参考:http://www.mikespook.com/index.php/archives/34。必要阐明的是,假犹如时安装有 xcache 必然要先加载 xcache,再加载 xdebug。否则会造成 php 运行非常。

应用

首先,将编写分手应用递归要领和应用轮回要领谋略100的阶乘的两个函数,如下:

1; $i–)

{

$x *= $i;

}

return $x;

}

function f2($x)

// 递归谋略 $x 的阶乘

{

if($x == 1)

{

return $x;

}

else

{

$y = $x - 1;

return $x * f2($y);

}

}

echo ‘f1: ‘ . f1(10);

echo ‘

’;

echo ‘f2: ‘ . f2(10);

将该文件放入可经由过程 web 造访并由 php 精确解析的目录,造访结果如图:

应用 Notepad++ 打开这个文件。平日在文件上点击鼠标右键(或者左键,假如你跟我一个偏向的话),选择“Edit with Notepad++”,如图:

假如你没有这项,或者无法应用 Notepad++,请反省是否精确的安装了 Notepad++。打开后的界面如图:

在 Notepad++ 的菜单“插件”中选择“DBGp”并点击“Debug”:

会在编辑器下半部分打开调试窗口:

此时就已经打开了编辑器真个调试功能。

应用XDEBUG_SESSION_START=1参数造访刚才编写的文件,如:http://127.0.0.1/foobar.php?XDEBUG_SESSION_START=1

此时会发明 Notepad++ 窗口会闪烁一下,这阐明 Notepad++ 的 DBGp 插件已经生效。将光标放置到必要设置断点的位置,并点击有红点的按钮,光标所在行前会显示一个红点,表示断点行,如图:

Stack 标签可以显示栈的应用环境,这对付调试函数调用很有赞助。例如本例中的递归要领谋略阶乘:

调试完毕或后可以将光标放置在断点处,再次点击断点按钮取消断点。然后点击“Run”按钮或按 F9 继承法度榜样的履行。也可直接点击“Trun OFF” 按钮关闭调试功能。

分外要提一下的是Eval 按钮的功能。这个按钮可以动态改变某个变量的内容,以方便调试:

至此,Notepad++ 共同 xdebug 对 PHP 进行调试的基础功能就先容完了。调试是异常考究技术和履历的,真正发挥调试的威力,还要大年夜家在实际应用中总结和前进。在我有光阴的时刻,我会继承 VIM 共同 xdebug 的先容,同时录制一些屏幕录像给大年夜家参考。

您可能还会对下面的文章感兴趣: