What does “XDEBUG NOT LOADED AS ZEND EXTENSION” warning means?

后端 未结 5 1063
走了就别回头了
走了就别回头了 2021-02-07 09:14

Xdebug is loaded, but not loaded as a zend extension. What does it mean? How to resolve this problem?

5条回答
  •  囚心锁ツ
    2021-02-07 09:40

    Others have already explained that the error is because Xdebug is being loaded as a regular PHP module instead of as a Zend extension. You can use the wizard that Derick linked to or manually enter the line as Starx showed.

    However, there is an issue that you may run into. The extensions_dir directive in php.ini currently only applies to PHP modules, not to Zend extensions. Therefore, you cannot use a common configuration like this:

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

    While PHP will correctly load php_memcache.dll from the ext sub-directory, it will not load php_xdebug-2.2.3-5.3-vc9-nts.dll and will throw the error Failed loading php_xdebug-2.2.3-5.3-vc9-nts.dll.

    To fix this, you will need to either use an fully-qualified/absolute path such as:

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

    or a relative path such as these:

    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
    

    (The wizard will return zend_extension=.\ext\php_xdebug-2.2.3-5.3-vc9-nts.dll which includes the directory but also a superfluous .\)

提交回复
热议问题