libapache2-mod-php5:依赖:php5-common

libapache2-mod-php5:依赖:php5-common

我安装了 php5.5,并将 Ubuntu 从 12 升级到 14。现在系统无法正常工作。我做了

sudo apt-get upgrade && sudo apt-get install libapache2-mod-php5

但得到了

The following packages have unmet dependencies:
 libapache2-mod-php5 : Depends: php5-common (= 5.5.9+dfsg-1ubuntu4.4) but 5.5.18+dfsg-1+deb.sury.org~precise+1 is to be installed
E: Unable to correct problems, you have held broken packages.

我该如何解决?

我用来安装 php5.5 的命令如下:

add-apt-repository ppa:ondrej/php5-oldstable
apt-get install ppa:ondrej/php5-oldstable
apt-get update
apt-get install php5
apt-get install python-software-properties
add-apt-repository ppa:ondrej/php5
apt-get update
apt-get install php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php-pear php5-dev php5-imap php5-mcrypt

答案1

您的问题是,您有一个非官方的 PPA,它破坏了您的安装过程。要解决此问题,请运行以下命令:

sudo add-apt-repository --remove ppa:ondrej/php5-oldstable
sudo add-apt-repository --remove ppa:ondrej/php5

此 PPA 提供的是不同版本的 PHP(旧版本),而不是 Ubuntu 想要的正确版本。

运行以下命令来添加额外的存储库:

sudo add-apt-repository universe
sudo add-apt-repository multiverse

现在运行:

sudo apt-get update

您的存储库信息将是官方的 Ubuntu。libapache2-mod-php5使用此命令安装:

sudo apt-get install libapache2-mod-php5

笔记:您可能需要先卸载旧的 PHP 包。命令:

sudo apt-get remove php5 php5-common php5-mysql php5-xmlrpc php5-cgi php5-curl php5-gd php5-cli php5-fpm php-apc php-pear php5-dev php5-imap php5-mcrypt

除非您绝对需要,否则您不应该添加 PPA。它们带来的破坏比解决的问题更多,并且可能导致类似这样的问题。此外,非官方 PPA 是潜在病毒的攻击媒介。除非您真的需要使用 PPA,否则不要使用。

相关内容