web-dev-qa-db-ja.com

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
6
heya

問題は、インストール手順に違反している非公式のPPAがあることです。これを修正するには、次のコマンドを実行します。

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

このPPAは、Ubuntuが必要とする適切なバージョンではなく、PHPの異なる(古い)バージョンを提供しています。

これらのコマンドを実行して、追加のリポジトリを追加します。

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は、潜在的なウイルスの攻撃ベクトルです。本当にPPAを使用する必要がない限り、使用しないでください。

16
Kaz Wolfe