web-dev-qa-db-ja.com

CentOSにPHP 5.3をインストールするにはどうすればよいですか?

CentOSサーバーにPHP 5.3をインストールする必要があります。インストールする場合はyum install php、ベースリポジトリは5.1.6をインストールしますが、これはインストールする必要があるアプリケーションには古すぎます。だから私はIUSからの公式の指示に従って [〜#〜] ius [〜#〜] リポジトリを使用しようとしています:

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1-2.ius.el5.noarch.rpm

root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm

root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm

OK。今、私は単にyum install php53など、必要なものすべて...しかし、次のエラーが発生します。

Running rpm_check_debug
Running Transaction Test
Finished Transaction Test


Transaction Check Error:
  file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
  file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

Error Summary
-------------

これを解決する方法がわかりません。基本パッケージを削除する必要があると思います。しかし、Linuxの初心者なので、どうすればよいかわかりません。

9

更新:どうやらRHEL 5.6 includes PHP 5. なので、これはネイティブに表示されますCentOS向け。

file /usr/bin/php from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/bin/php-cgi from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /usr/share/man/man1/php.1.gz from install of php53u-cli-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-cli-5.1.6-27.el5_5.3.x86_64
file /etc/php.ini from install of php53u-common-5.3.4-3.ius.el5.x86_64 conflicts with file from package php-common-5.1.6-27.el5_5.3.x86_64

ここでの問題は、インストールするパッケージの名前が異なる(phpではなくphp53)ことですが、同じファイルをインストールしようとするため、競合が発生します。これは必ずしもパッケージをまとめるのに最適な方法ではありませんが、より良いパッケージがあるかどうかはわかりませんので、無視します。

現在インストールされているパッケージを削除するには:

# yum remove php-cli php-common php

したがって、一般的に、yum remove <list of packages>はパッケージを削除します。そしてもちろん、 yum list installedインストール済みパッケージのリストを表示するには(またはrpm -qa)。

8
larsks

これに対する答えは2011年1月13日の時点で変更されました。RedHatはバージョン5.6をリリースし、これにはPHPバージョン5.3が個別のパッケージとして含まれています(php53)。

古いPHPを削除してから、PHP 5.3を個別にインストールする必要があります。これは、IUSリポジトリのパッケージに似ていますが、現在は公式です。

詳細については、 Red Hatリリースノート を参照してください。

これはRed Hatからリリースされたばかりであり、CentOSで利用できるようになるまでに少し時間がかかることに注意してください。ただし、RHEL 5.6の更新は比較的マイナーに見えるので、長すぎるとは思わないでください。

4
mattdm

新しいパッケージをインストールする前に、古いバージョンのパッケージを削除してみてください。

yum消去php-cli php-comon

次に、yumのインストールを試してください。

警告:コミットする前にyumが加えたい変更のリストを見て、他の重要なパッケージを削除していないことを確認してください。

2
Phil Hollenback

あなたは正しいです、あなたは最初にデフォルトのphpパッケージをアンインストールする必要があります。次に進む前に、他のパッケージがベースバージョンに特定の依存関係を持っている可能性があることに注意してください。おそらく、あなたは大丈夫ですが、後で他の懸念事項に対処する必要があるかもしれないということを警告するだけです。

あなたはこれを行うことができるはずです

yum erase php-common php-cli

あなたが続く

yum install php53
2
Scott Pack

CentOS 6が利用可能になり、PHP 5.3:

http://isoredirect.centos.org/centos/6/isos/x86_64/

1
Terence Johnson
  1. 削除する必要がありましたphp-cliphp-commonおよびphp-devいくつかの依存関係とともに、他には何もありません(MySQLなどは変更されていません。)
  2. 同じパッケージをPHP 5.3フレーバーに依存関係を含めてインストールしましたが、すべてが稼働しています。phpinfoは、実行していることを確認しますPHP =バージョン5.3.3。
  3. 私はApacheを再起動し、Joomlaを実行しているサイトが正常に動作しました。
1
szlevi

「yum update php」で競合エラーが発生するのと同じ問題がありました。

「yum update」(すべてを更新)を実行しても、うまくいきました。試してみてください。

また、「yum erase php」または「yum remove php」を実行すると、PHPに依存するすべてのパッケージを削除する ...になる可能性があることに注意してください。それがインストールされています。私が間違っていなければ、それらを再インストールする必要があり、これは苦痛になる可能性があります。

0
Jason Coleman

PHP 5.3.10をCentOS 5.3にインストールしました。 Atomicorp repo を含むいくつかのリポジトリを使用してみましたが、これはプレスクを壊した

私は最終的に、次のステップがうまくいくと思いました。

[〜#〜]開始[〜#〜]

REMIおよびEPELリポジトリーをダウンロードして有効にする

cd ~
wget http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm

vi /etc/yum.repos.d/remi.repo

「[remi]」見出しの下の「enabled = 0」を「enabled = 1」に変更します

Php-sqlite2を削除しないと、依存関係エラーが発生します

yum remove php-sqlite2

この場合、PHPを最新バージョン5.3.10に更新します

yum update php

Php.iniをバックアップし、新しくインストールされたバージョンを有効にします

mv /etc/php.ini /etc/php.ini.old
mv /etc/php.ini.rpmnew /etc/php.ini

My.cnfをバックアップし、新しくインストールされたバージョンを有効にする

mv /etc/my.cnf /etc/my.cnf.old
mv /etc/my.cnf.rpmnew /etc/my.cnf

最新バージョンのioncube拡張機能をインストールする

wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
tar -xvf ioncube_loaders_lin_x86-64.tar.gz
mv ioncube/* /usr/lib64/php/modules/

echo 'zend_extension=/usr/lib64/php/modules/ioncube_loader_lin_5.3.so' > /etc/php.d/ioncube-loader.ini

また、php拡張機能をインストールする必要がある場合もあります。この場合、SOAP拡張機能もインストールする必要があります。

yum install php-soap

サービスを再起動して変更を有効にします

service mysqld restart
service httpd restart

[〜#〜]完了[〜#〜]

乾杯;マーク

0
ponchopilate