最近PHPを5.4にアップグレードしましたが、APCが動作していないために失敗しているようですが、これは5.3にダウングレードする以外に選択肢がありませんでした。
apt-get remove php5
およびapt-get purge php5
を実行し、次にapt-getから5.4リポジトリを削除してからapt-get install php5
を実行し、5.3をインストールしていると表示し、php-fastcgi
およびphp5-fpm
しかし、php -v
を実行すると、5.4と表示されます。
5.4から5.3にダウングレードするにはどうすればよいですか?
私のサーバーはUbuntu 11.04を実行しています。
Ubuntuでは、ダウングレードプロセスは本当に混乱です。以下に、便利なスクリプトを示します(PHP 5.4を削除し、PHP 5.3をインストールします):
Sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
Sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
Sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
Sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-Gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4
利用可能なバージョンがコマンドで確認できる場合:apt-cache showpkg php5
インストール後、コマンドで確認します:php --version
パッケージバージョンを指定せずに(php5-xcacheなど)他のパッケージをインストールしないでください。そうしないと、apt-getはPHPインスタンスを5.4に置き換えます。
これを防ぐために、これらのパッケージを保持できます。
Dpkgでパッケージを保持するには、次のコマンドを実行できます。
echo "php5 hold" | Sudo dpkg --set-selections
すべてのPHPパッケージを保持するには、次のコマンドを実行します。
dpkg --get-selections | grep ^php5 | sed s/install/hold/g | Sudo dpkg --set-selections
次のコマンドは、PHPパッケージの保持ステータスを表示します。
Sudo dpkg --get-selections | grep ^php
Aptitudeを使用してパッケージを保持することもできます。例:
Sudo aptitude hold php5
保留解除:
Sudo aptitude unhold php5
最初にapt-cache showpkg php5
を実行します。そこに、パッケージphp5のバージョンおよびその他の情報が表示されます。
特定のバージョンをインストールするには、apt-get install <package name>=<version>
を実行します
私のUbuntu 11.10では、apt-get install php5=5.3.6-13ubuntu3.6
になります
たぶん、このガイドはあなたを助けるでしょう: buntuでパッケージをダウングレードする方法
したがって、利用可能なバージョンのパッケージをダウンロードしてインストールするには、これを行う必要があります。
Sudo apt-get install Package=Version
同様の問題がありました。
リポジトリを削除しました。
php -v
はphp-cli
パッケージ内の実行可能ファイルを実行するので、それも削除する必要があることを覚えておく必要があります。
そこで、5.3.10に戻るために次のことを行いました。
Sudo apt-get remove php5-cli php5 php5-common
Sudo apt-get install php5 php5-mysql php5-curl
これで目的のバージョンが表示されます。
php -v
説明した手順から、php5.4をパージし、php5.4リポジトリを削除した後、apt-get updateを忘れました。
以下を実行すると、aptソースにリポジトリがないと仮定します。
apt-get remove --purge php5 && apt-get update && apt-get install php5
5.3に戻る必要があります