我在使用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
当我将phpinfo()
的输出粘贴到http://xdebug.org/wizard.php
时,该网站会显示以下内容:
但无论如何这里是指示:
...... ......(线条被截断)...... ......
我在底部的/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.
答案 0 :(得分: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后,对我来说工作正常。
答案 1 :(得分:7)
phpunit可能使用与您安装Xdebug的PHP版本不同的PHP版本。尝试使用php `which phpunit` --coverage-html ~/build/logs/coverage
,如果有效,那么phpunit默认使用错误的PHP。这可能是一个路径问题。
答案 2 :(得分:1)
在php5上的“cli”文件夹中查看“php.ini”,这里没有xdebug的行引用。所以,添加xdebug的行。