15

我在使用 xampp 的 Ubuntu 服务器上安装 xdebug 时遇到问题。我知道在 Stack Overflow 中有几个关于此类问题的问题,但我没有找到任何解决方案。

首先这是php --version命令的输出:

PHP 5.3.8 (cli) (built: Sep 19 2011 13:29:27)  
Copyright (c) 1997-2011 The PHP Group  
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies  
    with Xdebug v2.2.0, Copyright (c) 2002-2012, by Derick Rethans  

命令输出php --ini

Configuration File (php.ini) Path: /opt/lampp/etc  
Loaded Configuration File:         /opt/lampp/etc/php.ini  
Scan for additional .ini files in: (none)  
Additional .ini files parsed:      (none)  

命令输出php -m

[PHP Modules]  
bcmath  
bz2  
calendar  
Core  
ctype  
curl  
date  
dba  
dom  
ereg  
exif  
fileinfo  
filter  
ftp  
gd  
gettext  
hash  
iconv  
imap  
intl  
json  
ldap  
libxml  
mbstring  
mcrypt  
memcache  
mhash  
ming  
mssql  
mysql  
mysqli
mysqlnd  
ncurses  
openssl  
pcntl  
pcre  
PDO  
pdo_mysql  
pdo_pgsql  
pdo_sqlite  
pgsql  
Phar  
posix  
radius  
Reflection  
session  
shmop  
SimpleXML  
soap  
sockets  
SPL  
SQLite  
sqlite3  
standard  
sybase_ct  
sysvsem  
sysvshm  
tokenizer  
wddx  
xdebug  
xml  
xmlreader  
xmlwriter  
xsl  
zip  
zlib  

[Zend Modules]  
xdebug  

当我粘贴 in 的输出时phpinfo()http://xdebug.org/wizard.php该站点显示以下内容:

量身定制的安装说明

概括

  • Xdebug 安装: 2.2.0
  • 服务器 API:命令行界面
  • 窗户:没有
  • Zend 服务器:没有
  • PHP版本: 5.3.8
  • Zend API 编号: 220090626
  • PHP API 编号: 20090626
  • 调试构建:
  • 线程安全构建:
  • 配置文件路径: /opt/lampp/etc
  • 配置文件: /opt/lampp/etc/php.ini
  • 扩展目录: /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626
  • 您已经在运行最新的 Xdebug 版本

    但无论如何,这里有说明:

    ... ... ... (截断的行) ... ... ...

    /opt/lampp/etc/php.ini在底部写了这个:

    [xdebug]  
    zend_extension = /opt/lampp/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so  
    xdebug.profiler_output_dir = "/tmp/xdebug"  
    xdebug.profiler_enable = On  
    xdebug.remote_enable = On  
    xdebug.remote_host = "localhost"  
    xdebug.remote_port = 10000  
    xdebug.remote_handler = "dbgp"  
    

    的输出phpunit --version如下:

     PHPUnit 3.6.11 by Sebastian Bergmann.  
    

    现在我的实际问题出现了:

    当我使用以下命令时,它显示未安装 xdebug:

    phpunit --coverage-html ~/build/logs/coverage  
    

    该命令的输出如下:

    The Xdebug extension is not loaded. No code coverage will be generated.  
    
    4

    3 回答 3

    12

    不确定它是否有帮助,但...

    我在阅读 phpunit 教程时遇到了同样的错误 - 在第 7 章遇到错​​误。 http://phpunit.de/manual/current/en/organizing-tests.html

    我花了一段时间才意识到 xdebug 是在 /etc/php5/apache2/php.ini 中设置的,但不是在 /etc/php5/cli/php.ini 中。

    将 xdebug 设置从 apache2 复制到 cli 后对我来说工作正常。

    于 2013-08-05T13:48:41.053 回答
    7

    phpunit 可能使用与您安装 Xdebug 的版本不同的 PHP 版本。尝试使用php `which phpunit` --coverage-html ~/build/logs/coverage,如果可行,则 phpunit 默认使用错误的 PHP。这可能是路径问题。

    于 2012-06-25T07:44:09.030 回答
    1

    在 php5 上的文件夹“cli”中查看您的“php.ini”,这没有您的 xdebug 的行参考。因此,为 xdebug 添加行。

    于 2013-04-02T13:32:57.610 回答