libapache2-mod-php5:取决于:php5-common

hey*_*eya 6 php package-management apt apache2

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

sudo apt-get upgrade && sudo apt-get install libapache2-mod-php5
Run Code Online (Sandbox Code Playgroud)

但是得到了

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.
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

我用来安装 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
Run Code Online (Sandbox Code Playgroud)

Kaz*_*lfe 16

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

sudo add-apt-repository --remove ppa:ondrej/php5-oldstable
sudo add-apt-repository --remove ppa:ondrej/php5
Run Code Online (Sandbox Code Playgroud)

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

运行这些命令以添加额外的存储库:

sudo add-apt-repository universe
sudo add-apt-repository multiverse
Run Code Online (Sandbox Code Playgroud)

现在,运行:

sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

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

sudo apt-get install libapache2-mod-php5
Run Code Online (Sandbox Code Playgroud)

注意:您可能需要先卸载旧的 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
Run Code Online (Sandbox Code Playgroud)

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


归档时间:

查看次数:

35231 次

最近记录:

9 年,1 月 前