
私は次のことを行いました:
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 とバージョンとコマンドを互換性のない方法で混在させています。これを分解してみましょう。
libapache2-mod-php5.6
に存在しppa:ondrej/php
、これが実際に使用したいPPAですphpdismod
PHP拡張機能を無効にするコマンドであり、Apache2モジュールを管理するものではないのでa2dismod
、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-*
必要があります。php5
php5.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 パッケージでご利用いただけます。