web-dev-qa-db-ja.com

「XDEBUGがZENDEXTENSIONとしてロードされていません」という警告はどういう意味ですか?

Xdebugはロードされますが、zend拡張機能としてロードされません。どういう意味ですか?この問題を解決する方法は?

14
lovespring

このエラーは、「extension =」を使用してXdebugをロードしたことを意味します。これは、通常のphp.ini、または一部のディストリビューションが追加したいxdebug.iniというファイルにある可能性があります。いずれの場合も、Xdebugは、シングルステップデバッグなどの特定の機能のZend拡張機能としてロードする必要があります。 Xdebugは通常の拡張機能として機能することを意図していないため、クラッシュして焼ける可能性もあります。

XdebugをZend拡張機能としてロードするための構文は、PHPバージョンとビルドによって異なります。 http://xdebug.org/wizard.php を使用して提供することをお勧めします。正しい行で。

18
Derick

zend_extensionとして正しくロードされるように構成されているかどうかを確認してください。 php.ini内にこの行を追加します

zend_extension="/usr/local/php/modules/xdebug.so"
4
Starx

Windowsサーバーでzend*nts*.dllファイルをphp.iniファイルにアクティブ化する場合は、zend_extension_tsの代わりにzend_extensionディレクティブを使用する必要があります。

xdebugをロードする例:

[XDeug]
zend_extension_ts="DRIVE:/PATH_TO_XDEBUG/php_xdebug.dll"
xdebug.show_local_vars=1
xdebug.default_enable=On

注:dllファイルへの二重引用符

それが誰かを助けることを願っています:)

3
Halayem Anis

XdebugがZend拡張機能としてではなく通常のPHPモジュールとしてロードされているためです。Derickがリンクしている wizard を使用できます。または、Starxが示したように手動で行を入力します。

ただし、発生する可能性のある問題があります。 extensions_dirphp.iniディレクティブは、現在PHPモジュール、 Zend拡張機能には適用されません にのみ適用されます。したがって、次のような一般的な構成を使用することはできません。この:

[PHP]
extension_dir  = .\ext
extension      = php_memcache.dll
…
[zend]
zend_extension = php_xdebug-2.2.3-5.3-vc9-nts.dll

PHPはextサブディレクトリからphp_memcache.dllを正しくロードしますが、ではありませんphp_xdebug-2.2.3-5.3-vc9-nts.dllをロードすると、エラーFailed loading php_xdebug-2.2.3-5.3-vc9-nts.dllがスローされます。

これを修正するには、次のような完全修飾/絶対パスを使用する必要があります。

zend_extension = C:\foobar\PHP\ext\php_xdebug-2.2.3-5.3-vc9-nts.dll

または次のような相対パス:

zend_extension = ext\php_xdebug-2.2.3-5.3-vc9-nts.dll
zend_extension = ..\phpexts\php_xdebug-2.2.3-5.3-vc9-nts.dll
zend_extension = \dev\phpexts\php_xdebug-2.2.3-5.3-vc9-nts.dll

(ウィザードはzend_extension=.\ext\php_xdebug-2.2.3-5.3-vc9-nts.dllを返します。これには、ディレクトリだけでなく、余分な.\も含まれます)

2
Synetech

build xdebugを実行しようとしているときにここに到達した場合は、それを「静的」拡張機能(zend拡張機能ではない)として構築したことを意味します。

configure --with-xdebug=sharedを使用して共有拡張機能としてビルドできます(dll/so; xdebugが静的拡張機能ではなく共有拡張機能としてビルドされるように構成されていることを示す表が表示されます)。その後のzend拡張。

静的なzend拡張機能を作成できるかどうかはわかりません。

また、xdebugの完全なテストスイートを実行するには、opcache(configure --disable-opcache --with-xdebug=shared)をアクティブ化しない必要があることに注意してください。

0
Xenos