【问题标题】:xdebug.so: undefined symbol: zend_ce_errorxdebug.so:未定义符号:zend_ce_error
【发布时间】:2016-07-13 14:50:39
【问题描述】:

我需要调试旧的php版本:

PHP 5.6.22 (cli) (built: Jun 29 2016 14:26:09)   
Copyright (c) 1997-2016 The PHP Group  
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

在 Ubuntu 上:Ubuntu 16.04 LTS

我编译了适当的 PHP,并从 git 存储库中检查了 xdebug:
git://github.com/xdebug/xdebug.git

我尝试了不同的版本,但似乎只有 master 正在编译。
在我的错误中,我有:

Failed loading /usr/share/php53/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so:  /usr/share/php53/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so: undefined symbol: zend_ce_error

我知道这是xdebug的新版本,PHP版本太旧了。
如果我尝试编译例如 xdebug 1_0,我有:

Makefile:181: recipe for target 'xdebug.lo' failed

对于其他版本,我还有其他错误。

我的基本问题是:如何为 PHP 5 找到合适的 xdebug?

更新

  1. xdebug.org/download.php - 就不同版本而言,它仅包含 Windows 二进制文件
  2. sudo apt-get install php5-xdebug - 不适用于 Ubuntu 16.04,因为它不支持 php5
  3. pecl install xdebug - 在最好的情况下会编译我已经拥有的最后一个版本,在最坏的情况下会失败(它发生在我身上,我试过了),因为上面提到了同样的原因。

【问题讨论】:

  • 有 Windows 二进制文件...
  • sudo apt-get install php5-xdebug 或为您的口味。或pecl install xdebug
  • 感谢您的评论,但是! Ubuntu 16.04 LTS 不再支持“php5-xdebug”,并且没有通过“pecl install xdebug”编译 xdebug 的库
  • 带有 ubuntu 14.04 或 12.04 的虚拟机? phpbrew github.com/phpbrew/phpbrew 它还允许你管理扩展?

标签: php gnu-make xdebug


【解决方案1】:

我在 CentOS 上遇到了同样的错误,也是从 github 编译的。我的解决方案是将我的 phpfino 复制并粘贴到向导 https://xdebug.org/wizard.php 中,并完全按照说明进行操作。

在我的特殊情况下,答案似乎可以在 http://xdebug.org/files/xdebug-2.4.1.tgz 中找到,因为使用它而不是最新的 github 版本意味着 apache 可以加载它,它现在显示在我的 phpinfo 页面上

【讨论】:

    猜你喜欢
    • 2019-10-16
    • 2017-05-20
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2012-11-07
    • 2012-09-05
    • 2017-06-25
    相关资源
    最近更新 更多