无法安装 xdebug - 依赖:phpapi-20121212 - ubuntu 14.04

无法安装 xdebug - 依赖:phpapi-20121212 - ubuntu 14.04

我正在尝试在 ubuntu 14.04 上安装 xdebug。

我正在使用 PHP 5.6.23。当我尝试:

sudo apt-get install php5-xdebug

我得到以下信息:

Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies: php5-xdebug : Depends: phpapi-20121212
E: Unable to correct problems, you have held broken packages.

我也尝试install xdebug manually过从源代码进行操作,但是当我尝试从 phpstorm 进行操作时,我得到了以下信息:

Xdebug requires Zend Engine API version 220121212.
The Zend Engine API version 220131226 which is installed, is newer.
Contact Derick Rethans at http://xdebug.org/docs/faq#api for a later version of Xdebug.

我已经尝试了找到的所有教程和解决方案但都没有成功,我将不胜感激任何能解决这个问题的帮助!

这是输出apt-cache policy php5 php5-xdebug

Installed: 5.6.23+dfsg-1+deprecated+dontuse+deb.sury.org~trusty+1
  Candidate: 5.6.23+dfsg-1+deprecated+dontuse+deb.sury.org~trusty+1
  Version table:
 *** 5.6.23+dfsg-1+deprecated+dontuse+deb.sury.org~trusty+1 0
        100 /var/lib/dpkg/status
     5.5.9+dfsg-1ubuntu4.20 0
        500 http://il.archive.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
        500 http://il.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
     5.5.9+dfsg-1ubuntu4 0
        500 http://il.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
php5-xdebug:
  Installed: (none)
  Candidate: 2.2.3-2build1
  Version table:
     2.3.3-3+deb.sury.org~trusty+1 0
        100 /var/lib/dpkg/status
     2.2.3-2build1 0
        500 http://il.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages

答案1

您使用的不是来自官方存储库的手动安装的 PHP 包。在这种情况下,任何事情都可能发生,我建议您向其维护者报告此问题。

解决方案 1:切换/降级到存储库中的软件包

立即的解决方案是使用以下命令恢复存储库中的软件包:

sudo apt install php5=5.5.9+dfsg-1ubuntu4.20 php5-xdebug=2.2.3-2build1

如果您有其他依赖于该php5版本的软件包,您将需要以相同的方式安装它们各自的存储库版本。

解决方案 2:从实际的 PPA 安装 PHP 5.6 和 xdebug,而不是手动安装dpkg -i

如何在仍受支持的 Ubuntu 版本中安装不同的(升级或降级)PHP 版本?很好的答案列出了这样的 PPA。

  1. 您可能想要删除当前的 PHP 5 安装,因为 PPA 包具有不同的名称,以允许不同的独立 PHP 安装:

    sudo apt remove php5 php5-xdebug
    
  2. 添加 PPA,升级您的软件包并安装新的 PHP 和 xdebug 包:

    sudo add-apt-repository ppa:ondrej/php
    sudo apt update
    sudo apt upgrade
    sudo apt install php5.6 php-xdebug
    

与前面的解决方案一样,您需要删除依赖于的包php5(使用时自动发生apt remove php5),然后重新添加它们的php5.6对应包(将它们添加到apt install命令中)。

答案2

出现此错误是因为您使用的loadingxdebugcompiledphp versioninstalled on your system

您应该寻找一个与您的系统上相同的 php 版本编译的版本。

看看这篇文章这里以获得进一步的帮助。

相关内容