使用PHP 5.5安装xdebug


Installing xdebug with PHP 5.5

我读了很多答案,但不明白为什么xdebug不起作用。

php.ini:

[xdebug]
zend_extension="/usr/lib/php5/20090626/xdebug.so"

php-v:

PHP 5.5.6-1+debphp.org~precise+2 (cli) (built: Nov 21 2013 14:31:41) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies

/usr/lib/php5/20090626/xdebug.so确实存在。php.ini中没有zend优化器。

如果我尝试安装xdebug:

pecl/xdebug is already installed and is the same as the released version 2.2.3
install failed

提前谢谢。

好吧,我自己也偶然发现了这个。

首先,20090626lib是为php5.3编译的。所以你不能真的使用它。以下是我执行的步骤,以便能够将xdebug与php5.5:一起使用

  1. 通过xdebug下载页面下载源代码
  2. 按照本指南将源代码编译到lib中
  3. 因此,现在扩展位于正确的源文件夹:20121212中,您需要在配置中启用xdebug
  4. 我在ubuntu 12.04上,所以接下来的步骤可能不适用于您的系统:

    • 创建20-xdebug.ini配置,并将其复制到/etc/php5/apache/conf.d和/etc/php5/cli/conf.d文件夹中(当然,如果您计划在cli中使用xdebug)。在那里插入下一行代码:zend_extension=xdebug.so
    • 在apache2和cli php.ini配置文件中启用xdebug:
      xdebug.remote_enable=1xdebug.renite_enable=1xdebug.max_esting_level=1000xdebug.profiler_enable_trigger=1xdebug.profile_output_dir='/var/log'
      查看有关xdebug设置的详细信息:http://xdebug.org/docs/all_settings

php-v:

PHP 5.5.7-1+sury.org~precise+1 (cli) (built: Dec 12 2013 21:37:40) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies
    with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

由于这似乎困扰着越来越多试图通过pecl安装xdebug的人,以下是选项:

  • Windows:获取二进制文件
  • Ubuntu(>12.04):sudo apt-get install php5-xdebug
  • Linux(其他):通过包管理器或编译最新源代码

使用PECL为PHP5.5安装X-Debug,@Slayer Birden也回答了到目前为止不会工作,我认为在不久的将来不会改变。

我在Ubuntu 14.10上遇到了类似的问题。我忘记启用xdebug:sudo php5enmod xdebug从存储库安装xdebug之后:sudo apt-get install php5-xdebug也不要忘记重新启动web服务器sudo service apache2 restart

我的xdebug.ini如下所示: zend_extension=xdebug.so xdebug.remote_enable = 1

对于examplep服务器,首先下载xdebug并插入到php扩展名中,然后编辑php.ini文件,如下所示:

    [XDebug]
; Only Zend OR (!) XDebug
; XAMPP and XAMPP Lite 1.7.0 and later come with a bundled xdebug at     C:'xampp/php/ext/php_xdebug-2.3.1-5.5-vc11.dll, without a version number.
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
; Port number must match debugger port number in NetBeans IDE Tools > Options > PHP
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="C:'xampp'tmp"
[PHP_XDEBUG-2.3.1-5.5-VC11]
zend_extension="C:'xampp'php'ext'php_xdebug-2.3.1-5.5-vc11.dll"

我今天遇到了这个问题。发现下载页面上的最新版本实际上可能不起作用。下载Xdebug 2.3.0下的一个,选择"PHP 5.5 VC11 TS(32位)(MD5:ef4a8994ef26c47ac891d6872e391b3)"。它对我有效。我之前尝试过2.3.3和2.3.2版本,但都不起作用。

要为特定版本的PHP安装一个非常特定的Xdebug版本,可以通过从源代码编译来完成。例如,如果您想为PHP 5.6编译xdebug-2.5.5,请在控制台(Ubuntu)中运行以下命令:

sudo apt install php5.6-dev
cd ~/Downloads
wget "https://xdebug.org/files/xdebug-2.5.5.tgz" -O "xdebug-2.5.5.tgz"
tar -xzf xdebug-2.5.5.tgz
cd xdebug-2.5.5/
/usr/bin/phpize5.6
./configure --enable-xdebug --with-php-config=/usr/bin/php-config5.6
make
sudo make install

所有可用的Xdebug版本都可以在这里找到。Xdebug编译指南在这里。