私はセントOSサーバーにphp5.1.6をインストールしていて、少なくとも5.3.2が必要です(ただし、利用可能な最新の5. *バージョンをインストールしたい)。
走ったら
yum update php
5.1.6-34.el5_8に更新されると書かれています(私のものは5.1.6-27.el5_5.3です).....一体何ですか????
CentOSで利用可能なパッケージは、現在のバージョンよりもはるかに遅れていますか、それとも、yumはデフォルトで2番目のドット(または何か)の後のSubversion内でのみ更新され、より新しいバージョンを提供するように指示する必要があるためですか?もしそうなら、どうすればそれを行うことができますか?
リポジトリにPHP 5.2.xまたは5.3.xが含まれていない古いバージョンのCentos(5.5以前)を実行している可能性があります。2つのオプションがあります。Centosを次のように更新します。より新しいバージョン(5.6はPHP 5.3)の最初のバージョンであるか、 http://iuscommunity.org/About を使用します
はい、CentOs 5.xで新しいバージョンのphpを入手するのは、非常に苦痛でした。
基本的に、更新リポジトリにはphp53パッケージがあります。
# cat /etc/redhat-release
CentOS release 5.8 (Final)
# repoquery -i php53
Name : php53
Version : 5.3.3
Release : 7.el5_8
Repository : updates
しかし、このようなものを実行すると、
# yum provides php
php-5.1.6-32.el5.x86_64 : The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)
php-5.1.6-34.el5_8.x86_64 : The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)
php53
パッケージは実際にはphpを提供しないことがわかります。つまり、システムにphpが存在するにもかかわらず、パッケージをインストールするとphp
に依存するパッケージが破損します。
結局、私は単一の提供行を含むシムrpmを使用しました。これは、すべてのphp要件が単純だったため、Web上のどこかで見つけました。
代替手段は、@ c2h5ohで述べたように、サードパーティの再パッケージバージョンを使用する(またはCentos 6.2にアップグレードする:-<)。
次のコマンドで、すべてのphp
をphp53
に置き換えると何が壊れるかがわかります。
# rpm --whatrequires -V php
Unsatisfied dependencies for Pastebin-0.60-4.el5.noarch: php
その最後のコマンドの出力から、私の場合、重要なphp
を必要とするパッケージを使用していなかったので、--nodeps
を使用してすべてのphpを強制的に削除したことがわかります。 。
yum Shell
を使用して、同じトランザクションでremove
(php-*
の)およびinstall
(php53-*
の)操作を実行できます。
使用する yum update
、次にyum upgrade
CentOSを5.8にアップグレードしてから、再試行しますyum update php