web-dev-qa-db-ja.com

centOSでphpを更新するにはどうすればよいですか?

私はセント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内でのみ更新され、より新しいバージョンを提供するように指示する必要があるためですか?もしそうなら、どうすればそれを行うことができますか?

2
matteo

リポジトリにPHP 5.2.xまたは5.3.xが含まれていない古いバージョンのCentos(5.5以前)を実行している可能性があります。2つのオプションがあります。Centosを次のように更新します。より新しいバージョン(5.6はPHP 5.3)の最初のバージョンであるか、 http://iuscommunity.org/About を使用します

6
c2h5oh

はい、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にアップグレードする:-<)。

次のコマンドで、すべてのphpphp53に置き換えると何が壊れるかがわかります。

# rpm --whatrequires -V php
Unsatisfied dependencies for Pastebin-0.60-4.el5.noarch: php

その最後のコマンドの出力から、私の場合、重要なphpを必要とするパッケージを使用していなかったので、--nodepsを使用してすべてのphpを強制的に削除したことがわかります。 。

4
Tom H

yum Shellを使用して、同じトランザクションでremovephp-*の)およびinstallphp53-*の)操作を実行できます。

使用する yum update、次にyum upgrade CentOSを5.8にアップグレードしてから、再試行しますyum update php

0
edwardmp