Xdebug已加载,但未加载为zend扩展名.这是什么意思?如何解决这个问题?
Der*_*ick 18
此错误意味着您使用"extension ="来加载Xdebug.这可能在你正常的php.ini中,或者在一些名为xdebug.ini的文件中,某些发行版喜欢添加.在任何情况下,Xdebug都需要作为Zend扩展加载某些功能,例如单步调试.由于Xdebug不是作为普通扩展工作,它可能会崩溃和烧毁.
将Xdebug加载为Zend扩展的语法取决于PHP版本和构建.我建议您使用http://xdebug.org/wizard.php为您提供正确的行.
其他人已经解释过该错误是因为 Xdebug 被作为常规 PHP 模块而不是 Zend 扩展加载。您可以使用Derick 链接到的向导或手动输入 Starx 显示的行。
\n\n但是,您可能会遇到一个问题。目前,该extensions_dir指令php.ini仅适用于 PHP 模块,不适用于 Zend 扩展。因此,您不能使用如下所示的通用配置:
[PHP]\nextension_dir = .\\ext\nextension = php_memcache.dll\n\xe2\x80\xa6\n[zend]\nzend_extension = php_xdebug-2.2.3-5.3-vc9-nts.dll\nRun Code Online (Sandbox Code Playgroud)\n\n虽然 PHP 会正确地php_memcache.dll从ext子目录加载,但它不会加载并php_xdebug-2.2.3-5.3-vc9-nts.dll会抛出错误Failed loading php_xdebug-2.2.3-5.3-vc9-nts.dll。
要解决此问题,您需要使用完全限定/绝对路径,例如:
\n\nzend_extension = C:\\foobar\\PHP\\ext\\php_xdebug-2.2.3-5.3-vc9-nts.dll\nRun Code Online (Sandbox Code Playgroud)\n\n或相对路径,例如:
\n\nzend_extension = ext\\php_xdebug-2.2.3-5.3-vc9-nts.dll\nzend_extension = ..\\phpexts\\php_xdebug-2.2.3-5.3-vc9-nts.dll\nzend_extension = \\dev\\phpexts\\php_xdebug-2.2.3-5.3-vc9-nts.dll\nRun Code Online (Sandbox Code Playgroud)\n\n(向导将返回zend_extension=.\\ext\\php_xdebug-2.2.3-5.3-vc9-nts.dll,其中包括目录,但也包括多余的.\\)