Xdebug中文文档-安装

文档内容来自xdebug.org/docs,翻译时xdebug版本为2.6。我在官方文档基础上针对中文排版和教程内容的编排作了一些优化,但愿中文文档看起来更容易理解。php

英文原始文档地址: https://xdebug.org/docs/
中文文档github地址: https://github.com/Anoxia/xde...

Windows预编译的模块

有几个Windows预编译模块,它们都是PHP的非调试版本。你能够在下载 页面得到这些信息。按照这些指示安装Xdebug。git

类UNIX系统下使用PECL安装

从Xdebug 0.9.0开始,你能够经过PEAR / PECL安装Xdebug。这只适用于PEAR版本0.9.1-dev或更高版本。github

使用PEAR / PECL进行安装很是简单:web

pecl install xdebug

而后将xdebug扩展配置添加到您的php.ini中:(配置时注意扩展所在路径,推荐使用绝对路径)shell

zend_extension="/usr/local/php/modules/xdebug.so"

__注意:__请不要将配置写成extension = xdebug.so, 这会致使加载xdebug扩展失败。浏览器

macOS上经过Homebrew安装

PHP和Xdebug能够经过非官方的macOS包管理器Homebrew进行安装。若是您是使用Homebrew安装的PHP(使用Homebrew安装PHP的安装指南)那么很容易经过brew install来安装Xdebug:php7

brew install homebrew/php/<php-version>-xdebug

例如:php-fpm

brew install homebrew/php/php71-xdebug

您也可使用brew搜索找到您须要的特定软件包:工具

brew search xdebug

经过Homebrew安装的Xdebug扩展将在安装后默认启用,扩展的额外配置经过向/usr/local/etc/php/<php-version>/conf.d/添加自定义的ini文件来完成。有关更多详细信息,请参考安装结束时brew在终端的输出。优化

经过编译源码进行安装

获取源码

您能够经过三种渠道得到Xdebug源码:

  1. PHP官方扩展库网站:下载连接
  2. Xdebug官网:下载连接
  3. github release:下载连接

编译

您从PHP的其他部分分别编译Xdebug。但请注意,您须要访问脚本“phpize”和“php-config”。若是你的系统没有“phpize”和“php-config”,你将须要首先编译和安装PHP源代码,由于这些脚本是PHP编译和安装过程的副产品。(Debian用户能够安装所需的工具 apt-get install php5-dev)。源版本与安装的版本相匹配很是重要,由于PHP版本之间存在轻微但重要的区别。一旦你有权访问“phpize”和“php-config”,请执行如下操做:

  1. 解压源码压缩包。请注意,您不须要解压缩PHP源代码树中的压缩包。如上所述,Xdebug是独立编译的。

    tar -xzf xdebug-2.5.5.tgz。
  2. 进入Xdebug目录

    cd xdebug-2.5.5
  3. 运行phpize(若是phpize不在你的路径中,使用绝对路径/ path / to / phpize)。确保你使用属于你想使用Xdebug的PHP版本的phpize。若是您在查找要使用的phpize时遇到问题,请参考常见问题解答。

    phpize
  4. 检查编译条件

    ./configure --enable-xdebug
  5. 执行源码编译操做

    make
  6. 安装(权限不够,请加sudo

    make install

配置PHP以使用Xdebug

  1. 将如下行添加到php.ini中:

    zend_extension =“/path/to/xdebug.so”

    对于早于5.3的PHP版本和PHP(Apache 2 worker MPM或ISAPI模块)的线程化使用,请添加:

    zend_extension_ts =“/path/to/xdebug.so”

    注意:若是你本身编译了PHP而且使用了--enable-debug,请使用zend_extension_debug

    注意:若是您想与OPCache一块儿使用Xdebug,必须在OPCache以后加载Xdebug。不然,他们将没法正常工做。

  2. 重启webserver/php-fpm
  3. 编写一个调用 phpinfo() 的PHP页面在浏览器中加载它并查找Xdebug模块上的信息。若是您在Zend徽标旁边看到它,那么您已经成功了!

    若是您使用PHP的命令行版本,你也可使用php -m,它列出全部加载的模块。Xdebug应该出现两次(一次在PHP下,一次在Zend Extension下面)。

兼容性

Xdebug不能与Zend Optimizer或任何其余处理PHP内部的扩展(DBG,APD,ioncube等)一块儿使用。这是因为这些模块的兼容性问题。

DEBUGCLIENT安装

debugclient在Xdebug源码目录下:

# 进入debugclient目录
cd debugclient
# 检查编译依赖
./configure --with-libedit
# 编译
make
# 安装
make install

这将在/usr/local/bin中安装debugclient二进制文件。,若是您的系统上没有安装libedit,请安装它,而后您能够省去--with-libedit选项。Debian ‘unstable'用户能够安装这个库apt-get install libedit-dev libedit2

若是配置脚本找不到libedit,而且您肯定已经正确安装(而且是头文件),而且在configure.log文件中出现如下连接错误:

/usr/lib64/libedit.so: undefined reference to `tgetnum'
/usr/lib64/libedit.so: undefined reference to `tgoto'
/usr/lib64/libedit.so: undefined reference to `tgetflag'
/usr/lib64/libedit.so: undefined reference to `tputs'
/usr/lib64/libedit.so: undefined reference to `tgetent'
/usr/lib64/libedit.so: undefined reference to `tgetstr'
collect2: ld returned 1 exit status

您须要将您的配置命令更改成:

LDFLAGS = -lncurses ./configure --with-libedit
相关文章
相关标签/搜索