zoukankan      html  css  js  c++  java
  • Xdebug 配置

    到官网 http://www.xdebug.com/download.php 下载
    找到对应PHP版本的 Xdebug ,后面带 TS 的为线程安全,本机环境为 win7 64 + php-5.5.1-Win32-VC11-x64 ,下载的是 Xdebug 2.3.3 PHP 5.5 VC11 TS (64 bit)
    
    
    
    安装:
    Win :将下载的dll文件(这里是php_xdebug-2.3.3-5.5-vc11-x86_64.dll)放到 php 安装目录的 ext 文件夹下。本机放在 D:ApacheServerphpext
    在ApacheServer下面新建xdebug文件夹,再在xdebug下面新建trace与profiler文件夹,用来存放xdebug生成的两种信息
    
    
    
    编辑php.ini,加入下面几行
    
    zend_extension              = "D:ApacheServerphpextphp_xdebug-2.3.3-5.5-vc11-x86_64.dll"
    ;允许远程IDE调试
    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:ApacheServerxdebug	race"
    xdebug.profiler_output_dir  = "D:ApacheServerxdebugprofiler"
    
    ;其余参数
    ;开启自动跟踪。自动打开"监测函数调用过程"的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出
    xdebug.auto_trace           = On
    ;开启异常跟踪
    xdebug.show_exception_trace = On
    ;开启远程调试自动启动
    xdebug.remote_autostart     = On
    ;收集变量
    xdebug.collect_vars         = On
    ;收集返回值
    xdebug.collect_return       = On
    ;收集参数
    xdebug.collect_params       = On
    ;显示局部变量
    xdebug.show_local_vars      = On
    ;显示默认的错误信息
    xdebug.default_enable       = On
    ;用于zend studio远程调试的应用层通信协议
    xdebug.remote_handler       = dbgp
    ;如果设得太小,函数中有递归调用自身次数太多时会报超过最大嵌套数错
    xdebug.max_nesting_level    = 10000
    
    
    zend_extension = "D:ApacheServerphpextphp_xdebug-2.3.3-5.5-vc11-x86_64.dll" 与 Zend Debugger 一样
    不同系统及 PHP 版本有不同写法
    Linux 和 Mac OS X               : zend_extension    = "D:ApacheServerphpextphp_xdebug-2.3.3-5.5-vc11-x86_64.dll"
    Windows Thread-Safe 版 PHP      : zend_extension_ts = "D:ApacheServerphpextphp_xdebug-2.3.3-5.5-vc11-x86_64.dll"
    Windows Non-Thread-Safe 版 PHP  : zend_extension    = "D:ApacheServerphpextphp_xdebug-2.3.3-5.5-vc11-x86_64.dll"
    所以同一服务器只能加载一个调试工具,要么 Zend Debugger 要么 Xdebug
    但在 PHP5.5 环境下测试, Thread-Safe 版 PHP 后面不能加 _ts 只能写成 zend_extension = 
    
    
    xdebug.profiler_enable = on 及后面的目录 "D:ApacheServerxdebug" 作用是开启把执行情况的分析文件写入到指定目录中的功能,可自由设置。也可不写
    生成的文件,例如 cachegrind.out.4408 这种格式命名的文件,用编辑器打开可以看到很多程序运行的相关细节信息
    
    重启Apache
    
    
    重启
    先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。
    
    <?php
    require 'abc.php';
    ?>
    
    然后通过浏览器访问,惊奇地发现,出错信息变成了彩色的了,并且Xdebug跟踪代码的执行
    
    
    
    Zend Studio设置
    Zend Studio 10.6.2
    Apache2.4.4
    修改 Zend Studio 设置
    Window->Preferences->PHP->PHP Executables->Add
    填写内容如下,Executable path选择文件后PHP ini file (optional)自动赋值
    Name                    : PHP 5.5.1_CLI
    Executable path         : D:ApacheServerphpphp.exe
    PHP ini file (optional) : D:ApacheServerphpphp.ini
    SAPI Type               : CLI
    PHP debugger            : XDebug
    点击Finish保存后自动就是默认
    
    
    (如果只需要CLI调试此步可忽略)点击PHP Server下拉框Default PHP Web Server右边的PHP Servers...
    选中Name|URL列表中的一条内容,点击右边的Edit
    在弹出框的Debugger下拉框中选择XDebug
    
    
    开始调试
    在代码中在左边行数栏上双击加断点
    Run->Debug Configurations...
    双击PHP CLI Application
    在Name处输入想要的名称,在PHP File处右边点击Browse,选择要debug的文件,点击下面的Apply即可
    
    或者打开要运行的页面
    Run->Debug As->PHP CLI Application
    即可以调试模式运行,也可选择CLI之外其他调试模式
    点击工具栏向下箭头(Step Into)或按 F5 逐行执行。点击左边的绿色向右箭头(Resume)或按F8一直执行,直到断点处停下
    点击红色按钮(Terminate)结束调试,再点击臭虫按钮重新开始调试
  • 相关阅读:
    Sublime Text 2 实用快捷键[Mac OS X]
    SublimeText2 快捷键一览表
    sublime text 3 快捷键大全以及配置编译环境
    解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
    PHP中include和require的区别详解
    Call to undefined function imagettftext()解决方法
    mysql单引号和双引号的用法
    php.ini 配置文件的深入解析
    《JavaScript设计模式与开发实践》—— 代理模式
    《JavaScript高级程序设计》—— DOM
  • 原文地址:https://www.cnblogs.com/dreamhome/p/3218744.html
Copyright © 2011-2022 走看看