Xdebug已加载,但未作为zend扩展加载。这是什么意思?如何解决这个问题?“XDEBUG未加载为ZEND EXTENSION”警告的含义是什么?
回答
此错误表示您使用“extension =”加载Xdebug。这可能在你的普通php.ini文件中,或者在一个名为xdebug.ini的文件中,一些发行版希望添加。无论如何,Xdebug需要作为Zend扩展加载,以用于某些功能,如单步调试。由于Xdebug并不是作为一个正常的扩展工作,它可能会崩溃和燃烧。
将Xdebug加载为Zend扩展的语法取决于PHP版本和构建。我建议您使用http://xdebug.org/wizard.php为您提供正确的线路。
“无论如何,Xdebug需要作为Zend扩展加载” - 你能解释为什么吗?当我通过PECL安装xdebug时,我被告知要将“extension = xdebug.so”添加到我的php.ini中,并且phpinfo()会报告关于xdebug如何安装和运行的各种好处,但它也提醒我它是“没有作为Zend扩展加载“没有任何解释为什么我会在乎。 – 2012-08-23 19:27:15
至少在Windows中,xdebug向导犯了一个小错误:它建议添加像'zend_extension = C:\ Program Files(x86)\ PHP \ v5.3 \ ext \ php_xdebug-2.2.1-5.3-vc9-nts。 dll'。它应该是'zend_extension =“C:\ Program Files(x86)\ PHP \ v5.3 \ ext \ php_xdebug-2.2.1-5.3-vc9-nts.dll”'实际工作。 – texnic 2012-09-19 10:05:44
@texnic谢谢!该向导声明将“zend_extension = ext \”添加到php.ini中。它应该说要添加xdebug.dll作为扩展路径的一部分,例如:“zend_extension = ext \ php_xdebug-2.2.2.dll”。我浪费了30分钟试图弄清楚。 – b01 2013-03-24 14:12:44
确认它是否配置为正确加载为zend_extension
。 Inside php.ini
添加此行
zend_extension="/usr/local/php/modules/xdebug.so"
在我的CentOS 6安装中,它是:'zend_extension =/usr/local/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so'(另外,我的本地php.ini在我的超过默认php.ini的web根目录。似乎我必须在那里添加指令,如果我希望它在该Web路径内工作。) – 2015-07-22 05:50:27
其他人已经解释过这个错误是因为Xdebug是作为一个普通的PHP模块加载的,而不是Zend扩展。您可以使用Derick链接到的wizard或手动输入Starx显示的行。
但是,您可能会遇到一个问题。 php.ini
中的extensions_dir
指令目前仅适用于PHP模块not to Zend extensions。因此,你不能使用这样的常见配置:
[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
其中包含目录但也是多余的.\
)
如果你想激活zend*nts*.dll
进入你php.ini
文件在Windows服务器上,您必须使用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文件
希望这将有助于某人:)
- 1. PHP的警告:Xdebug的必须加载作为一个Zend扩展
- 2. 什么是CSS中的'qualified'的定义/含义? (csslint.net警告)
- 3. “警告:文件末尾没有新行”的含义是什么?
- 4. 此Web工具包JavaScript警告的含义是什么? (ThickBox的)?
- 5. 此警告消息的含义是什么?
- 6. 此C++运行时警告的含义是什么
- 7. 什么是log4j警告
- 8. 这个夹板警告的含义是什么,我可能会做错什么?
- 9. mac kernel-extension的错误代码含义是什么?
- 10. 为什么警告(json [0] .subject);给未定义?
- 11. 为什么Django在加载我的URLconf时发出警告?
- 12. 为什么此警报包含未定义?
- 13. 这是为什么会产生警告?
- 14. XPcollection未加载 - 为什么?
- 15. 为什么选中警告
- 16. 为什么我有警告?
- 17. 警告:simplexml_load_file():I/O警告:未能加载外部实体drupal
- 18. Eclipse中的PHP未加载Xdebug
- 19. 警告:imageftbbox()[function.imageftbbox] - 这是什么错误
- 20. 未定义/未指定/实现定义的行为警告?
- 21. 为什么Lua报告lua_pushlstring是未定义的?
- 22. Android:这个警告是什么意思?
- 23. 在repl.it中的警告的含义?
- 24. Zend框架显示JavaScript的警告框上加载形式
- 25. 。action extension ...它是什么?
- 26. XDebug或Zend Debugger?
- 27. Installshield警告-7205:这是什么意思
- 28. “符号”与“加载符号列表”中的含义是什么?
- 29. 为什么用户定义的类没有“声明但未使用”警告?
- 30. sp.core.js未加载的原因是什么?
你的配置是什么?你的** php.ini里面有什么? ('zend_extension_debug = *')。更多细节将不胜感激。 – Liyali 2012-04-06 07:43:52
你怎么知道它不是作为zend扩展加载的?你从哪里读到的?你能提供一个截图吗? – hakre 2012-04-06 09:12:54