企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
本文章涵盖了NotePad++ 的安装、Xdebug 的安装、DBGP插件 的安装以及简单的调试Php 的示例。 软件环境: NotePad++必须是32位的 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++)。 notepad++.jpg 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文件夹的路径。比如: PhpInfo.JPG 图中表明: 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 Xdebug.JPG 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区域? PhpInfo_Xdebug.JPG 配置Notepad++ 1、打开Notepad++,进入插件菜单,弹出DbGp下拉菜单列表。 DBGp_Plugin.JPG 2、点击"Config... "菜单项,如下图一样配置DbGp调试器(Remote Path 和 Local Path是你的php文件所在的文件夹)