Расширение Xdebug не загружено. На Ubuntu с Xampp не будет создано покрытие кода

У меня есть проблема с установкой xdebug на моем сервере Ubuntu, который использует xampp. Я знаю, что в stackoverflow есть несколько вопросов по этой проблеме, но я не нашел никакого решения, поэтому я снова задаю этот вопрос. Пожалуйста, не закрыл мой вопрос, если не прочитать его полностью.

Сначала это вывод команды 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  

Когда я вставляю вывод phpinfo() в http://xdebug.org/wizard.php, сайт показывает следующее:

Индивидуальные инструкции по установке

Резюме

Установлен Xdebug: 2.2.0 API сервера: Интерфейс командной строки Windows: no Сервер Zend: no Версия PHP: 5.3.8 Zend API nr: 220090626 PHP API nr: 20090626 Отладка: no Thread Safe Build: no Путь к файлу конфигурации:/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.  

Пожалуйста, помогите мне решить проблему.

Спасибо. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Ответы

Ответ 1

Возможно, phpunit использует другую версию PHP из той, на которой вы установили Xdebug. Попытайтесь использовать php `which phpunit` --coverage-html ~/build/logs/coverage, если это работает, то phpunit по умолчанию использует неправильный PHP. Это может быть проблемой пути.

Ответ 2

Не уверен, что это помогает, но...

У меня была такая же ошибка при просмотре учебника phpunit - получение ошибки в главе 7. http://phpunit.de/manual/current/en/organizing-tests.html

Понравилось мне понять, что xdebug был настроен в /etc/php 5/apache2/php.ini, но не в /etc/php 5/cli/php.ini.

Работала хорошо для меня после копирования настроек xdebug из apache2 в cli.

Ответ 3

См. ваш "php.ini" в папке "cli" на php5, у этого нет ссылок на строки для вашего xdebug. Итак, добавьте строки для xdebug.