在NotePad++中安装DBGP debugger调试PHP程序

本文章涵盖了NotePad++ 的安装、Xdebug 的安装、DBGP插件 的安装以及简单的调试Php 的示例。

DBGP插件(PlugIn)如何工作

1、Web浏览器(例如:FireFox )通过Http端口(80)请求Url来访问Apache Server。

2、XDebug 是Apache的一个扩展(DLL In Windows),类似于GD库。

3、XDebug 是Web Server(Apache)与远程调试客户端(例如:NotePad++的DBGP插件 )的一个接口,他们之间通过9000端口通信。

Wire Flow:

Web browser <==> Port 80 <==> Apache + PHP + Xdebug extension <==> Port 9000

 <==> DBGp Plugin-notepad++

1、开启NotePad++,BDGP插件打开9000端口。

2、Web browser向Apache 请求一个php页面,请求的Url中包含一个指定的参数

(即:XDEBUG_SESSION_START)以便激活远程调试。

3、Apache 调用Php 解释器(Interpreter)。

4、Php解释器加载XDebug 模块。

5、XDebug 模块检测到第2步发送的XDEBUG_SESSION_START参数,开启远程调试。

6、XDebug 连接到远程调试客户端(依赖于XDebug 的配置项,在php.ini中)。

7、XDebug 和调试客户端建立连接以后,通过9000端口进行对话。

8、当调试客户端向XDebug 发送执行Php语句的指令后,Php 解释器执行Php语句,相应的输出由Apache通过80端口发送出去到Web Browser。

9、当所有的php代码执行完后,XDebug 断开与调试客户端的连接。

10、Apache 断开与Web Browser的Http连接。

安装步骤

首先,你先安装好Apache和Php的运行环境,这个我就不说了,不会安装的话,看这里 ,也可以跟我一样,使用xampp ,还有WinLamp 也推荐一下,反正是开发环境,不是生产环境。

我用的xampp,php模块安装在c:/xampp/php目录下(这个因人而异)。

1、安装NotePad++,注意,不要选择exe安装包,选择zip 包,使用包中的ansi版本即可(新建一个文件夹notepad++到c:/Program Files,将ansi下面的所有文件拷贝进去),否则在你安装DBGP插件的时候会报错 (This ANSI plugin is not compatible with your Unicode
Notepad++)。



2、下载NotePad++ 的中文xml文件 ,将其重新命名为nativeLang.xml,放到notepad++的根目录下(c:/Program Files/notepad++)。

3、下载DBGP插件 ,一个Zipped文件,解压以后,将dbgpPlugin.dll和Readme.txt文件复制到Notepad++的plugins目录下(c:/Program Files/notepad++/plugins)。

4、创建一个php文件phpinfo.php,打印php的配置信息。
<?php phpinfo(); ?>

5、 新建一文件夹supplier到apache的htdocs目录下,执行phpinfo.php,即:http://localhost /supplier/phpinfo.php  检查你的php版本,我的php版本是5.1.4,确认你的php.ini文件的位置,以及php扩展库extensions文件夹的路径。比如:

图中表明:
php.ini文件在C:/WebServer/Apache2/modules/php/ 文件夹下

扩展库的路径是C:/WebServer/Apache2/modules/php/ext/

6、到XDebug的官方网站 上下载XDebug For Php的Module,注意要与你的php的版本相匹配,对我来说,就是 PHP 5.1.2 - 5.1.6 ,对应的扩展库为php_xdebug-2.0.0-5.1.6.dll

7、拷贝php_xdebug-2.0.0-5.1.6.dll 文件到你的php扩展库文件夹,比如:C:/WebServer/Apache2/modules/php/ext/ (php.ini中的extension_dir 项)

8、用Windows记事本软件打开php.ini,增加下面的几行到php.ini的最后

[xdebug]

zend_extension_ts="C:/WebServer/Apache2/modules/php/ext/php_xdebug-2.0.0-5.1.6.dll"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=127.0.0.1
xdebug.remote_mode=req
xdebug.idekey=default
xdebug.remote_log="D:/www/ourcommunity.dev/log/xdebug.log"
xdebug.remote_port=9000
xdebug.show_exception_trace=0
xdebug.show_local_vars=9
xdebug.show_mem_delta=0
xdebug.trace_format=0

根据你自己的情况设置zend_extension_ts和xdebug.remote_log两项。

9、重新启动apache,如果apache启动失败,试着将php.ini中关于zend的配置项注释掉。

比如:

;zend_extension_manager.optimizer_ts = "C:/xampp/php/zendOptimizer/lib/Optimizer"

10、重新执行phpinfo.php文件,有没有看到其中的xdebug区域?

配置Notepad++



1、打开Notepad++,进入插件菜单,弹出DbGp下拉菜单列表。

2、点击"Config...

"菜单项,如下图一样配置DbGp调试器(Remote Path 和 Local Path是你的php文件所在的文件夹)

简单示例



未完待续......

你可能感兴趣的:(debugger)