加载 xdebug.so 未定义符号失败:zend_empty_string
Posted
技术标签:
【中文标题】加载 xdebug.so 未定义符号失败:zend_empty_string【英文标题】:Failed loading xdebug.so undefined symbol: zend_empty_string 【发布时间】:2019-10-16 20:04:03 【问题描述】:我无法在 Visual Studio Code - Linux (Ubuntu 18.04.2 LTS) 中调试 php 脚本。
在更新之前,我正在获取错误的 Xdebug 版本,例如:
Xdebug 需要 Zend Engine API 版本 320170718。 安装的 Zend Engine API 版本 320160303 已过时。
更新后的 Xdebug 版本现在获取以下错误:
错误:加载 /opt/lampp/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so 失败:/opt/lampp/lib/php/extensions/no-debug-non-zts -20160303/xdebug.so:未定义符号:zend_empty_string。
这是我的 PHP 状态:
php -v
PHP 7.2.17-0ubuntu0.18.04.1 (cli) (built: Apr 18 2019 14:12:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.17-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies
with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans
如果我最后有任何遗漏,请纠正我。
【问题讨论】:
【参考方案1】:我建议使用 Xdebug 网站上的定制向导:
Xdebug Wizard
您似乎在混合 PHP 版本:Zend Engine API 版本 20160303 对应于 PHP 7.1。对于 7.2,您需要 API 版本 20170718。
我想你有几个版本的 PHP 活跃——很可能是 7.1、7.2 和 7.3。在这种情况下,您需要在通过向导时运行正确的 phpize - phpize7.2。
【讨论】:
以上是关于加载 xdebug.so 未定义符号失败:zend_empty_string的主要内容,如果未能解决你的问题,请参考以下文章
brew php54-xdebug 加载 xxx.xdebug.so 失败 找不到符号
加载/usr/lib/php7/modules/xdebug.so 失败:重新定位/usr/lib/php7/modules/xdebug.so 时出错:php_sprintf:找不到符号
Xdebug 错误:“加载 xdebug.so 失败:xdebug.so:无法打开共享对象文件:没有这样的文件或目录”