在Ubuntu 14.04上为PHP 7安装xdebug

7
我正在尝试让xdebug在PHP 7上运行。我从版本 http://xdebug.org/files/xdebug-2.4.0rc4.tgz 构建了xdebug.so文件。phpize的输出看起来正确( Zend Extension Api No: 320151012 ),但我却从PHP获得了 Xdebug requires Zend Engine API version 220121212. 。

所以我按照以下步骤操作: 下载xdebug-2.4.1.tgz 解压缩下载的文件,命令为“tar -xvzf xdebug-2.4.1.tgz” 进入xdebug-2.4.1目录,运行“phpize”(如果您没有安装phpize,请参阅FAQ)。 其中的输出应该显示:Configuring for: ... Zend Module Api No: 20151012 Zend Extension Api No: 320151012 如果没有,则说明您使用的是错误的phpize。请按照此FAQ条目操作并跳过下一步。 运行:./configure 运行:make 运行:cp modules/xdebug.so /usr/lib/php/20151012 编辑/etc/php/7.0/apache2/php.ini并添加以下行:zend_extension = /usr/lib/php/20151012/xdebug.so 重新启动web服务器。

除了我安装了php7.0-dev而不是php5( apt-get install -y php7.0-dev )之外,我遵循了这些说明。

当我运行 phpize 命令时,我得到以下输出:
Configuring for: PHP Api Version: 20151012 Zend Module Api No: 20151012 Zend Extension Api No: 320151012
正如预期的那样。但是当我运行PHP时,我得到:
Xdebug requires Zend Engine API version 220121212. 已安装新一些的 Zend Engine API version 320151012。 请联系Derick Rethans在 http://xdebug.org/docs/faq#api获取更新版本的Xdebug。

显然我在某个地方做错了什么!非常感谢提供有关调试此问题的任何帮助!:)

1个回答

7

我通过使用apt-get包来解决这个问题:

apt-get install -y php-xdebug

这似乎安装了正确的xdebug.so文件,一切都正常工作!


1
我遇到了“Xdebug需要Zend Engine API版本320151012。已安装的Zend Engine API版本320170718较新。”的错误,而您提供的解决方案对我很有用。(我只是缺少“xdebug.so”文件,所以我只需将文件复制到缺失的位置,在我的情况下是“/usr/lib/php/20151012”) - Traxo
这个方法对我来说很有效,可以解决出现“Xdebug需要Zend Engine API版本XXXXXXXXX”的错误。我不得不从php.ini中删除xdebug.so的尝试,这样apt-get在安装期间才能添加它。 - Gabo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接