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