web-dev-qa-db-ja.com

Xdebug拡張機能がロードされていません。 Xamppを使用するUbuntuではコードカバレッジは生成されません

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_に貼り付けると、サイトに次のように表示されます。

カスタマイズされたインストール手順

概要

  • インストールされているXdebug: 2.2.0
  • サーバーAPI: コマンドラインインターフェイス
  • ウィンドウズ: 番号
  • Zendサーバー: 番号
  • PHPバージョン: 5.3.8
  • Zend API nr: 220090626
  • PHP API nr: 20090626
  • デバッグビルド: 番号
  • スレッドセーフビルド: 番号
  • 構成ファイルのパス:/opt/lampp/etc
  • 構成ファイル: /opt/lampp/etc/php.ini
  • 拡張ディレクトリ:/opt/lampp/lib/php/extends/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.  
    _
    15
    Tareq

    PhpunitがXdebugをインストールしたバージョンとは異なるPHPバージョンを使用している可能性があります。 php `which phpunit` --coverage-html ~/build/logs/coverageを使用してみてください。それが機能する場合、phpunitはデフォルトで間違ったPHPを使用します。これはパスの問題である可能性があります。

    7
    Derick

    それが役立つかどうかはわかりませんが...

    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にコピーした後、問題なく動作しました。

    12
    Russell England

    Php5のフォルダ「cli」にある「php.ini」を参照してください。これには、xdebugの行参照がありません。したがって、xdebugの行を追加します。

    1
    tofarias