私は次のことをしました:
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
異なるPPA、バージョン、およびコマンドを互換性のない方法で混合しているので、分解してみましょう。
libapache2-mod-php5.6
はppa:ondrej/php
にあり、これは実際に使用したいPPAです
phpdismod
はPHP拡張を無効にするためのコマンドであり、Apache2モジュールを管理するためではありません。そのためにはa2dismod
が必要です
ppa:ondrej/php5-5.6
のPHP Apache2モジュールの名前は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パッケージで利用可能な migrationg guide があります。