• php添加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下面新建traceprofiler文件夹,用来存放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

     

     

    重启

    先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。

    <?phprequire '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)结束调试,再点击臭虫按钮重新开始调试

  • 相关阅读:
    Python性能分析指南
    centos加入启动服务
    北京户口
    北京户口
    【汽车进口税】 关于汽车进口税计算你知道多少-汽车保险资讯-阳光车险官方网站
    在北京公司要多长时间才可以申请摇车牌号
    Kivy: Crossplatform Framework for NUI
    说说设计模式~大话目录(Design Pattern)
    说说设计模式~策略模式(Strategy)
    说说设计模式~装饰器模式(Decorator)
  • 原文地址:https://www.cnblogs.com/xulei13140106/p/5946370.html
Copyright © 2020-2023  润新知