PHP 5.2にロールバックする方法は?


13

開発用サーバーに10.04 LTSをインストールしましたが、その上で実行する必要があるシステム(Magento ecommerce)は、Ubuntuの最新バージョンに同梱されているPHP 5.3と互換性がありません。PHP 5.2をインストールするための安全でアップグレードに耐える方法はありますか、それとも古いバージョンのUbuntuを使用する方が簡単ですか?

回答:


9

この目的のために作成したppaを使用できます。必要なピン留めに注意してください。また、aptitudeはピン留めを認識しません。使用する場合は、aptitude固有の方法を使用する必要があります。

注-これは10.04(明id)専用です


1
PPA どこにありますか?
ネイサンオスマン

申し訳ありません..私はそう速くないです:Dのlaunchpad.net/~txwikinger/+archive/php5.2
txwikinger

このPPAで私がすべきことを説明してもらえますか?
silvo

@silvo:パッケージマネージャーを使用するか、コマンドラインでadd-apt-repositoryを使用して、ソースリストにppaを追加する必要があります。PPAの詳細は、PPAのWebサイトにあります。
txwikinger

これはほぼ完璧な答えです、ありがとう。不明な場合sudo add-apt-repository ppa:txwikinger/php5.2は、コマンドラインからppaをソースに追加します。投稿のppaリンクをたどり、txwikingerのピン留めソリューションを適用してください。sudo apt-get updateパッケージをインストールする前に必ず実行してください!
アダムフィッシュ

2

karmicパッケージを使用して、aptitudeでそれらを固定することができます。これは、次のコマンドを使用して実行できます。

# remove all php packge
sudo aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
# use karmiс for php pakage
# pin-params:  a (archive), c (components), v (version), o (origin) and l (label).
echo -e "Package: php5\nPin: release a=karmic\nPin-Priority: 991\n"  | sudo tee   /etc/apt/preferences.d/php > /dev/null
apt-cache search php5-|grep php5-|awk '{print "Package:", $1,"\nPin: release   a=karmic\nPin-Priority: 991\n"}'|sudo tee -a /etc/apt/preferences.d/php > /dev/null
apt-cache search -n libapache2-mod-php5 |awk '{print "Package:", $1,"\nPin: release a=karmic\nPin-Priority: 991\n"}'| sudo tee -a /etc/apt/preferences.d/php > /dev/null
echo -e "Package: php-pear\nPin: release a=karmic\nPin-Priority: 991\n"  | sudo tee -a     /etc/apt/preferences.d/php > /dev/null
# add karmic to source list
grep 'main restricted' /etc/apt/sources.list|grep -v "#"| sed s/lucid/karmic/g | sudo tee             /etc/apt/sources.list.d/karmic.list > /dev/null
# update package database (use apt-get if aptitude crash)
sudo apt-get update
# install php
sudo aptitude install -t karmic php5-cli php5-cgi
# or (and) sudo apt-get install -t karmic  libapache2-mod-php5
sudo aptitude hold `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`
#done

リンクテキストからこれを手に入れました



2

私は最近、同じ問題を自分で解決しようとしました。パッケージ管理を変更する代わりに、自分でソースコードからPHP 5.2.17をコンパイルし、Checkinstallプログラムを使用して新しい.debパッケージをシステムにインストールしました。

Ubuntu 10.10用にPHP 5.2をコンパイルするブログ記事に手順を書きましたが、基本的に次の手順が含まれていました。

  1. PHPソース(http://php.net/downloads.php)を/ usr / local / srcにダウンロードします
  2. ソースを構成し、INSTALL docと./configure --helpからの出力を読み取ります

私の設定コマンドは次のようになりました:

./configure --prefix=/opt --with-apxs2=/usr/bin/apxs2 --with-curl=/usr/lib --with-pgsql --with-pear --with-mysql --with-gd
  1. 「make」を使用してソースをコンパイルします
  2. 「checkinstall」を使用してコンパイル済みパッケージをインストールします

そしてそれはそれでした。Synapticを使用して既にApache2をインストールしました(PHPで使用するにはapache2-mpm-preforkパッケージを使用する必要があります)。また、PHP5パッケージが既にインストールされている場合は、独自のコンパイル済みパッケージをインストールする前にそれらをアンインストールする必要があります。

パッケージを自分でコンパイルするのは本当に時間がかからず、Ubuntuマシンでまだコンパイルしていない場合は良い経験になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.