Xdebug是一个PHP程序调试器,可以用来跟踪,调试和分析PHP程序的运行状况。其实调试PHP还有其他工具比如Zend Debugger,但zend官方不是免费发布的,后来更新为zend Server也是收费版。而Xdebug是完全免费的并且功能也不差。其实xdebug可以看做PHP的扩展,如果环境中没有集成需要先在官网下载然后安装,下载地址:https://xdebug.org/download.php。下面说一下安装方式:

1.在windows下的安装方式,在windows安装时下载需要注意除了下载的扩展和PHP版本一致外还应该查看一下PHP是TS(Thread-Safety)即线程安全还是NTS(None-Thread Safe)即非线程安全,可以通过查看phpinfo内容确定是哪一种。找到phpinfo中的PHP Extension Build这一项,如下图:

下载完成后将dll文件放到php的安装目录下,为了统一可以放到ext目录下,也可以重命名一下,然后再php.ini中加入如下代码(具体可根据调试场景进行修改)

[Xdebug]
zend_extension ="扩展的绝对路径"
xdebug.collect_params =
xdebug.collect_return =
xdebug.auto_trace =
xdebug.profiler_enable =
xdebug.max_nesting_level =
xdebug.remote_enable =
xdebug.remote_host = localhost
xdebug.remote_port =
xdebug.remote_handler = dbgp
xdebug.idekey = netbeans-xdebug

以上代码主要适合本地调试的场景,如果是局域网内多人远程调试可以添加xdebug.remote_connect_back =1或者根据具体的调试场景进行修改。重启apache或者php-fpm之后使配置文件生效可以再phpinfo中查看到如下图所示:

2.linux下安装xdebug的方式

首先也需要在官网下载xdebug,下载source即可,然后解压后进入解压后的目录然后按如下步骤执行:

/PHP的安装目录/bin/phpize

./configure --with-php-config=/PHP的安装目录/bin/php-config

make

make install

执行成功后会显示一个带extensions的目录,记下这个目录,这个目录中会包含xdebug.so,然后和windows一样修改php.ini加入相同代码(除了扩展目录和文件名不同),重启php-fpm即可生效。

特别提示:不管是Windows还是Linux安装xdebug都需要以zend扩展的形式安装,如果提示XDEBUG NOT LOADED AS ZEND EXTENSION即下图所示界面则没有正确安装,需要重新修改配置文件。

以上配置是xdebug本地调试,其实xdebug也可以设置局域网多人调试或者远程调试的方式。待续....

转:https://www.liminghulian.com/article/51

另: 配置其它选项:

[Xdebug]
;指定Xdebug扩展文件的绝对路径
zend_extension="C:\App\php\php\php-7.0.12-nts\ext\php_xdebug-2.7.0alpha1-7.0-vc14-nts.dll"
;最大循环或调试次数,防止死循环
xdebug.max_nesting_level=
;启用性能检测分析
xdebug.profiler_enable=On
;启用代码自动跟踪
xdebug.auto_trace=on
;允许收集传递给函数的参数变量
xdebug.collect_params=On
;允许收集函数调用的返回值
xdebug.collect_return=On
;指定堆栈跟踪文件的存放目录
xdebug.trace_output_dir="C:\App\php\debug"
;指定性能分析文件的存放目录
xdebug.profiler_output_dir="C:\App\php\debug"
;追加
xdebug.profiler_append=
;指定追踪文件名格式
;xdebug.profiler_output_name = "cachegrind.out.%c"
xdebug.profiler_output_name = "cachegrind.out.%s"
;远程调试是否开启
xdebug.remote_enable = On
;端口
xdebug.remote_port=
;远程调试地址
xdebug.remote_host = 127.0.0.1
;数组或对象最大层数 最大可设置1023
xdebug.var_display_max_depth =
;将require,include相关载入的文件名写入追踪文件
xdebug.collect_includes=
;堆栈追踪
xdebug.default_enable=
;打印请求方式
xdebug.dump.SERVER=REQUEST_METHOD
;打印GET请求参数
xdebug.dump.GET=*
;打印POST请求参数
xdebug.dump.POST=*
;打印COOKIE
;xdebug.dump.COOKIE=*
;打印UA
;xdebug.dump.SERVER=HTTP_USER_AGENT

参考:  https://www.cnblogs.com/alex-dong/p/9126904.html

PHP断点调试工具Xdebug的安装的更多相关文章

  1. PHP 调试工具Xdebug安装配置

    ## PHP 调试工具Xdebug安装配置 一.Xdebug 介绍 Xdebug是一个开源的PHP程序调试工具,可以使用它来调试.跟踪及分析程序运行状态.当然,Xdebug需要结合PHP的编辑工具来打 ...

  2. PHP调试工具Xdebug安装配置教程

    说道PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...

  3. PHP性能调优---PHP调试工具Xdebug安装配置教程

    说到PHP代码调试,对于有经验的PHPer,通过echo.print_r.var_dump函数,或PHP开发工具zend studio.editplus可解决大部分问题,但是对于PHP入门学习的童鞋来 ...

  4. linux下php调试工具xdebug安装配置

    xdebug简介 Xdebug是php的一款调试工具,是基于zend的一个扩展,可以用来跟踪,调试和分析PHP程序的运行状况.如变量,函数调试,性能监测,代码覆盖率等 xdebug安装 1.下载xde ...

  5. PHP7 学习笔记(三)关于PHP7如何安装调试工具Xdebug扩展以及Zephir的问题

    前言: 1.自己摸索安装 2.快速安装 安装这个扩展是由于Zephir 编译不能始终通过,迫不得已啊,使用Zephir写扩展,总是出现以下错误: www@ubuntu1:~/phalcon-zephi ...

  6. Ubuntu下安装php调试工具xdebug

    安装xdebug: sudo apt-get install php-pear sudo apt-get install php5-dev pecl install xdebug 创建配置文件: /x ...

  7. 安装php调试工具 Xdebug的步骤 火狐 phpstorm联调

    一 安装服务器端 1 选择你的版本 <?php phpinfo(); ?> 比如我的: 关键是这三项:PHP Version 7.3.0Architecture x86 (x86是32位系 ...

  8. window下安装php调试工具xdebug

    1.https://xdebug.org/wizard.php在方框中输入本地phpinfo.php中的内容会提示对应要安装的版本, 2.https://xdebug.org/download.php ...

  9. Xdebug的安装与使用

    php下搭配使用xdebug是十分好的组合,用于php的调试工作,下面分别介绍之: 1 WINDOWS下的安装   下载站点http://www.xdebug.org/ 要确定使用一个跟你的PHP配合 ...

随机推荐

  1. 一致性哈希算法——PHP实现代码

    <?php /** * Flexihash - A simple consistent hashing implementation for PHP. * * The MIT License * ...

  2. Spring MVC 实现文件的上传和下载

    前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:“用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流”.我回复他说:“使用Spring MVC框架可以做到这一点,因为Spri ...

  3. 从头认识Spring-1.14 SpEl表达式(1)-简单介绍与嵌入值

    这一章节我们来讨论一下SpEl表达式的简单介绍与嵌入值. 1.SpEl表达式简单介绍 Spring Excpression Language (SpEL)语言支持在执行时操作和查询对象 事实上就是在执 ...

  4. Statement、PreparedStatemnt、CallableStatement

    第一.Statement(Statement代表一个特定的容器,来对一个特定的数据库执行语句) * 执行查询的方法 Statement=Connection.createStatement();//创 ...

  5. RHEL/CentOS/Fedora各种源

    CentOS 默认自带 CentOS-Base.repo 源, 但官方源中去除了很多有版权争议的软件, 而且安装的软件也不是最新的稳定版. Fedora 自带的源中也找不到很多多媒体软件, 如果需要安 ...

  6. dubbo应用架构演进路线图

    1.单应用单服务器: 2.单应用拆分成多个应用并部署到多个服务器: 3.单应用拆分成多个应用并实现分布式部署: 4.流动计算框架(用于提高机器利用率的资源调度和治理中心).

  7. python之函数用法islower()

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法islower() #http://www.runoob.com/python/att ...

  8. python配置文件转dict

    配置文件有很多种,如JSON,properties,conf,xml等. 除非需要跟别的语言进行交互,python本身是完全可以取代所有配置文件的.使用python进行配置可以使用非常灵活地执行一些逻 ...

  9. 查看/修改Linux时区和时间

    一.时区 1. 查看当前时区 date -R 2. 修改设置时区 方法(1) tzselect 方法(2) 仅限于RedHat Linux 和 CentOS timeconfig 方法(3) 适用于D ...

  10. 超高频RFID模块

    1.应用开发有两种方法:串口和USB 2.从逻辑上将标签存储器分为四个存储区,每个存储区可以由一个或一个以上的存储器字组成.这四个存储区是: 00 保留区(Password):前两个字是销毁(kill ...