到官网 http://www.xdebug.com/download.php 下载 Windows binaries 版 Xdebug 。linux 系统下载 source 版 tgz 压缩包 找到对应PHP版本的 Xdebug ,后面带 TS 的为线程安全,本机环境为 win XP + PHP5.2 ,下载的是 Xdebug 2.2.3 PHP 5.2 VC9 TS (32 bit) source 版下载的是 xdebug-2.2.3.tgz 安装: Win :将下载的dll文件(这里是php_xdebug-2.2.3-5.2-vc9.dll)放到 php 安装目录的 ext 文件夹下。本机放在 D:\ApacheServer\php\ext\ Linux :执行安装文件,此 linux 安装未经验证 tar -xvzf xdebug-2.2.3.tgz cd xdebug-2.1.2 phpize //如果 phpize 没有这个命令 ,需要安装一次 phpize 。phpize 可以让php支持扩展模块,安装 phpize:sudo apt-get install php5-dev 如果安装了继续进行下面命令 ./configure make make install cp modules/xdebug.so /usr/local/src/php/ext //将 xdebug.so 文件移到 php 下面 编辑php.ini,加入下面几行 zend_extension_ts = "D:\ApacheServer\php\ext\php_xdebug-2.2.3-5.2-vc9.dll" xdebug.remote_enable = true xdebug.remote_host = 127.0.0.1 #xdebug.remote_port = 9000 #默认端口 9000 xdebug.profiler_enable = on xdebug.trace_output_dir = "D:\ApacheServer\xdebug" xdebug.profiler_output_dir = "D:\ApacheServer\xdebug" #其余参数 #开启自动跟踪 xdebug.auto_trace = On #开启异常跟踪 xdebug.show_exception_trace = On #开启远程调试自动启动 xdebug.remote_autostart = On #收集变量 xdebug.collect_vars = On #收集返回值 xdebug.collect_return = On #用于zend studio远程调试的应用层通信协议 xdebug.remote_handler =dbgp #如果设得太小,函数中有递归调用自身次数太多时会报超过最大嵌套数错 xdebug.max_nesting_level = 10000 zend_extension_ts = "D:\ApacheServer\php\ext\php_xdebug-2.2.3-5.2-vc9.dll" 与 Zend Debugger 一样 不同系统及 PHP 版本有不同写法 Linux 和 Mac OS X : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.2.3-5.2-vc9.dll" Windows Thread-Safe 版 PHP : zend_extension_ts = "D:\ApacheServer\php\ext\php_xdebug-2.2.3-5.2-vc9.dll" Windows Non-Thread-Safe 版 PHP : zend_extension = "D:\ApacheServer\php\ext\php_xdebug-2.2.3-5.2-vc9.dll" 所以同一服务器只能加载一个调试工具,要么 Zend Debugger 要么 Xdebug 但在 PHP5.5 环境下测试, Thread-Safe 版 PHP 后面不能加 _ts 只能写成 zend_extension = xdebug.remote_enable = true 允许远程IDE调试 xdebug.profiler_enable = on 及后面的目录 "D:\ApacheServer\xdebug" 作用是开启把执行情况的分析文件写入到指定目录中的功能,可自由设置。也可不写 生成的文件,例如 cachegrind.out.4408 这种格式命名的文件,用编辑器打开可以看到很多程序运行的相关细节信息 重启Apache 重启 先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。 <?php require 'abc.php'; ?> 然后通过浏览器访问,惊奇地发现,出错信息变成了彩色的了,并且Xdebug跟踪代码的执行 Zend Studio断点 修改 Zend Studio 设置 Window -> Preferences -> PHP -> Debug 将右侧 "Default Settings" 中的 "PHP Debugger" 设置为 "XDebug" 在代码中在左边行数栏上双击加断点 点击工具栏上"小蜘蛛"旁边的小箭头 -> Debug As -> PHP Web Application 会跳出 Debug 视图 点击工具栏向下箭头(Step Into)或按 F5 逐行执行。点击绿色向右箭头(Resume)或按F8一直执行,直到断点处停下 调试结束时菜单栏点击红色结束按钮(Terminate),再点击臭虫按钮重新开始调试 调试结束后要点击菜单栏红色结束按钮(Terminate),结束调试
Xdebug 配置 php 调试器
最新推荐文章于 2024-06-20 23:57:10 发布