使用PHP 5.5安装xdebug

时间:2013-12-08 19:23:18

标签: php xdebug

我已经阅读了很多答案,但无法弄清楚为什么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

提前致谢。

6 个答案:

答案 0 :(得分:15)

好的,所以我自己偶然发现了这一点。

首先,20090626 lib是为php 5.3编译的。所以你不能真正使用它。以下是我为了能够在php 5.5中使用xdebug而执行的步骤:

  1. 通过source页面下载xdebug download
  2. 按照此guide将源代码编译为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 = 1
      xdebug.renite_enable = 1
      xdebug.max_nesting_level = 1000
      xdebug.profiler_enable_trigger = 1
      xdebug.profiler_output_dir = '/var/log'
      
      详细了解xdebug设置:http://xdebug.org/docs/all_settings
  5. 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
    

答案 1 :(得分:12)

由于这似乎打扰了越来越多的人试图通过pecl安装xdebug这里是选项:

  • Windows :获取binary
  • Ubuntu (> 12.04):sudo apt-get install php5-xdebug
  • Linux (其他):通过包管理器或编译 latest source

使用PECL为PHP5.5安装X-Debug作为@Slayer Birden也回答 工作到现在为止,我不认为它会在不久的将来发生变化。

答案 2 :(得分:7)

我在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

答案 3 :(得分:1)

我今天遇到了这个问题。发现download page上的最新版本实际上可能正常工作。下载Xdebug 2.3.0下的那个,选择“PHP 5.5 VC11 TS(32位)(MD5:ef4a8994cef26c47ac891d6872e391b3)”。它对我有用。我尝试过ver 2.3.3和2.3.2,之前没有用。

答案 4 :(得分:0)

对于xampp服务器首先下载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"

答案 5 :(得分:0)

要为特定版本的 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 版本 here。 Xdebug 编译指南是 here