PHP 5.4から5.3にダウングレードする方法


18

最近、PHPを5.4にアップグレードしましたが、APCが動作していないために失敗しているようですが、これは5.3にダウングレードする以外に選択肢がありませんでした。

実行しapt-get remove php5apt-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を実行しています。

回答:


11

PHP 5.4から5.3へのダウングレード

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を使用したパッケージの保持

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を使用したパッケージの保持

たとえば、aptitudeを使用してパッケージを保持することもできます。

sudo aptitude hold php5

保留解除:

sudo aptitude unhold php5

3
Ubuntu 13.x 5.3.10-1ubuntu3.4にはもう存在しません。
ケノーブ

回答の内容を元に戻すにはどうすればいいですか?
tolgap

PHP 5.4に戻るか、設定ファイルを復元するのですか?構成ファイルはそのままにしておく必要があります(個人構成は削除しないでください)。PHP 5.4に戻りたい場合は、保持しているパッケージの保持をsudo apt-get install php5解除して、php5 を再インストールまたは削除/インストールなどで再インストールします。
ケノーブ14年

4

最初に実行しapt-cache showpkg php5ます。そこに、パッケージphp5のバージョンおよびその他の情報が表示されます。

特定のバージョンを実行するには apt-get install <package name>=<version>

私のUbuntu 11.10では apt-get install php5=5.3.6-13ubuntu3.6


6
apt-cache showpkg php55.3.xが表示されない場合はどうなりますか?
ケノーブ

2

同様の問題がありました。

リポジトリを削除しました。

パッケージ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

最新の5.6がインストールされます。
ジョニーQ


1

説明した手順から、php5.4をパージし、php5.4リポジトリを削除した後、apt-get updateを忘れました。

以下を実行すると、aptソースにリポジトリがないと仮定します。

apt-get remove --purge php5 && apt-get update && apt-get install php5

5.3に戻る必要があります


Ubuntu 13.xでは、デフォルトでphp5は5.4.xを指します
ケノーブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.