この種の質問がここで行われてからしばらく経ちました。おそらく、推奨される解決策が変更されました。
RoundCubeウェブメールを実行しているCentOS5.4メールサーバーがあります。デフォルトでは、RoundCubeはPHPバージョン5.2以降を想定しています。CentOS5はリビジョン5.1.6でスタックし、5.2からの特定の機能のバックポートがあります。PHP Roundcubeをチェックすると、うまく機能します。ただし、使用したいプラグインの1つは、PHP 5.2で導入されたメソッドを使用します。
この場合、PHPとPostgres/MySQLがバインドされているため、PHPバージョンを5.1.6から5.2.xにアップグレードするための最良の方法は何ですか。サードパーティのリポジトリ、CentOSテスト、Fedora ...を確認したか、ソースからコンパイルできます。次の更新時に壊れないように、このシステムを安定した状態に保ちたいと思います。
何かお勧めはありますか?
atomic repos を使用してこれを何度も実行しました。非常に簡単に言えば、ほとんどの状況で必要なのは3つのステップだけです。
wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh
yum update php
service httpd restart
私は明らかにそれがあなたのために働くことを保証することはできません、しかし私自身にとってこれは標準的な方法になりました。
Remiリポジトリをインストールするだけです。そして実行:
yum update -y
更新が完了するまで待ってから、initを使用してVPSを再起動します。
init 6
これで、システムのphpが正常に更新されました。
これらの方法はどれでも問題なく機能する可能性がありますが、試してみるまでわからないため、バックアップが正常であることを確認することをお勧めします。そうは言っても、phpのアップグレードはWindowsよりもLinuxの方がはるかに簡単です。何か問題があったら驚かれることでしょう。インストールがVanillaでない場合でも、少なくとも一般的なインストールであると仮定すると、事前にパッケージ化されたRPMで問題ないはずです。
同じWebサーバーで異なるバージョンのphpを実行する ;残念ながら、Apacheモジュールとして実行できるのは1つだけであるため、CGIインターフェイスをいじくり回す必要があります。
最新のRPMの利点は、 インストールをロールバックできます です。それはそれを少し簡単にします。
一方、ソースからビルドする場合は、別のディレクトリにビルドするだけで済みます。次に、どのmod php Apacheをロードするかを変更し、php.iniファイルの場所を変更するだけで、現在の構成にリスクを与えることなくアップグレードできます。
解決策はたくさんあると思いますが、どれを選ぶかはシステム管理のスタイルによって異なります。
「簡単な」方法は、別のリポジトリからphpと関連パッケージをインストールすることです このような 。利点は、時間がかからないことです。欠点は、タイムリーな更新とパッケージの整合性とセキュリティの維持の両方について、システム上のバイナリの外部ソースを信頼していることです。
「難しい」方法は、独自にコンパイルすることです。私はそれが「難しい」と言いますが、それは本当に悪くはありません。 ./configureコマンドをすべて保存しているので、新しいリリースがリリースされたときに、同じスイッチを使用するだけで、以前のリリースと同じphp環境を取得できます。
面倒な要件のないシステムでは、rpmルートを使用します(実際には、これらのシステムでは5.1で問題なく動作します)が、カスタムphp環境を使用しているシステムでは、ソースからコンパイルします。
Phpを自分でコンパイルすることのもう1つの利点は、ソフトウェアとそれがサーバー上でどのように機能するかを実際に理解して学ぶことです。あなたはそれを誇りに思うことができます、そしてそれはあなたを他のいくつかのシステム管理者から際立たせます!