Ubuntu 14.04: ppa:ondrej を使用して PHP を 5.6 にアップグレードする際の問題

Ubuntu 14.04: ppa:ondrej を使用して PHP を 5.6 にアップグレードする際の問題

私は次のことを行いました:

sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5.6
sudo add-apt-repository ppa:ondrej/apache2

次のコマンドで古いバージョンの php5 を無効にしようとすると、

sudo phpdismod php5

次のエラーが表示されます: 警告: モジュール php5 ini ファイルが /etc/php/5.6/mods-available に存在しません

このディレクトリの下に ini ファイルを移動しても、同じエラーが発生します。何が足りないのかわかりません。

一般的に、私のインスタンスにはまだ php ディレクトリ ツリーが php5/.. と php/5.6 の両方が残っているようですが、新しくインストールしたバージョンをインスタンスで使用できるようにする方法を教えていただけますか。

答え1

異なる PPA とバージョンとコマンドを互換性のない方法で混在させています。これを分解してみましょう。

  1. libapache2-mod-php5.6に存在しppa:ondrej/php、これが実際に使用したいPPAです

  2. phpdismodPHP拡張機能を無効にするコマンドであり、Apache2モジュールを管理するものではないのでa2dismod

  3. PHP Apache2モジュールのppa:ondrej/php5-5.6名前はlibapache2-mod-php5

したがって、正しいのは次のようになります。

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php5-common # remove and purge old PHP 5.x packages
sudo apt-get install libapache2-mod-php5.6

最初にパッケージをアンインストールしない場合は、モジュールを無効にして、モジュールを有効にするphp5-*必要があります。php5php5.6

sudo a2dismod php5
sudo a2enmod php5.6

オプションで Apache2 リポジトリを追加します。

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get dist-upgrade

あります移行ガイドPPA パッケージでご利用いただけます。

関連情報