Расширение 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.