Xdebug 配置 php 调试器

来源:互联网 发布:js格式视频 编辑:程序博客网 时间:2024/04/30 22:45
到官网 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.tgzcd  xdebug-2.1.2phpize //如果 phpize 没有这个命令 ,需要安装一次 phpize 。phpize 可以让php支持扩展模块,安装 phpize:sudo apt-get install php5-dev 如果安装了继续进行下面命令./configuremakemake installcp 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        = truexdebug.remote_host          = 127.0.0.1#xdebug.remote_port         = 9000 #默认端口 9000xdebug.profiler_enable      = onxdebug.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 = 10000zend_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重启先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。<?phprequire '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),结束调试
0 0
原创粉丝点击