CentOS 5.7 64ビットにPHP 5.3.3のmcryptをインストールする方法は?


11

私はPHP 5.3といくつかのモジュールを使用してインストールしました

yum install php53-{module-name}

しかし、mcryptは機能しませんでした。

私はこのように検索しました:

yum list php* | grep mcry

登場した唯一のパッケージは

php-mcrypt.x86-64         5.1.6-15.e15.centos.1    extras

私はmhashでもまったく同じ問題を抱えています。phpの結果はさらに複雑です。

これはおそらく馬鹿げた質問だと思いますが、助けていただければ幸いです。私はUbuntuのシンプルな「apt-get install」に慣れており、すべてが機能します。CentOSは、より詳細指向のようです。

ありがとう。

編集:ここに私が試したものがあります:

yum install php53-mcrypt

結果:

No package php53-mcrypt available

そしてこれを試してみてください:

yum install php-mcrypt

結果:

Error: php53-common conflicts with php-common

php-mcryptは依存関係としてphp-commonを取得しようとするため(?)、CentOS 5.7ではデフォルトのphp 5.1ではなくphp 5.3を使用しようとしています。


何が機能しなかったのか、どのように失敗したのか?出力のスニペットを提供できますか?
コールクリステンセン

私が試したものと出力のいくつかで私の投稿を更新しました。
バトルビュートス

回答:


18

あなたがしていることにPHP 5.3は本当に必要ですか?自動的に新しい方が良いと思い込まないでください。

CentOS 6にアップグレードする場合、php 5.3がデフォルトです。

理解する必要があるのは、RedHat(およびそのクローン)が正当な理由でパッケージをアップグレードすることについて非常に保守的であることです。あなたがそれをプッシュし、より多くのアップグレードされたパッケージを取得したい場合は、問題を期待してください。

とは言っても、探しているパッケージは存在します!あなたがする必要があるのは

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install php53-mcrypt

EPELリポジトリには、デフォルトのリポジトリを補完するために、より多くのアップグレードされたパッケージが含まれています。


EPELリポジトリを32ビットCentOS Linux 5.5にインストールします。

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

64ビットCentOS Linux 5.5にEPELリポジトリをインストールします。

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

いいえ、PHP 5.3は実際には必要ありません。しかし、PHP 5.2以降はそうです。どちらにしても、CentOS 5.7で使用されているデフォルトのPHPは使用できません。必要なすべてのパッケージで5.2をインストールすることが非常に簡単な場合は、確かにそれを行います。しかし、それもデフォルトではないので、私はそれが同じくらい難しいかもしれないと思うので、私は5.3の努力を5.2のように費やすかもしれません。?
バトルビュータス

コマンドを実行してEPELをインストールすると、問題が簡単に解決します。
colechristensen

また、問題があまりない場合は、パッケージの見つけ方を説明して、OSバージョン、プロセッサ(32/64ビット)、およびPHPバージョンに対して正しいパッケージであることを確認してください。つまり、必要なパッケージを正確に提供するrpm URLを見つけるためにどのツールを使用しましたか?どうもありがとう!
バトルビュータス

1
そのため、yum install php53-mcryptは機能しましたが、残念ながらphp53-mhashとphp53-pearは見つかりませんでした。これは、それらがEPELに存在しないことを意味しますか?
バトルビュートス

1
この答えは私のために働いた。/etc/init.d/httpd restart変更を表示するには、忘れずに再起動してください。
ジョシュ

2

これは、CentOS / RHEL 6+バージョンで確実に機能します。
同様のアプローチが5+バージョンでも機能することを願っています。

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
yum install -y php-mcrypt

1

まだ人々がここに来ているので、私はまだ見たことのない答えを投げます。

私はCentOSを実行していますが、Red Hatが提供するよりも新しいバージョンを使用して、PHPとMySQLを最新に保つ必要もあります。この問題を解決するには、CentOS用のPHP、MySQL、Symfonyなどの最新パッケージを提供するremiリポジトリを使用します

(そして、私はちょうど1時間前に最後のCentOS 5ボックスを廃止しました。


私はそれが数ヶ月前だったのに、私は、私の問題を解決することになったと信じて、それがレミリポジトリを使用していました。しかし、いくつかの不具合に遭遇したことも覚えています。すべてがうまくいく前に、アンインストール/再インストールを数回しなければなりませんでした。
バトルビュータス

Remiは、新しくインストールしたCentOSボックスに追加するリポジトリでEPELのすぐ後ろになりました。後で多くの頭痛の種を取り除きます。:)
マイケルハンプトン

-1

最初に、使用しているPHPのバージョンを確認します。

rpm -q php
output:php-5.3.3-22.el6.x86_64

http://rpmfind.net/linux/rpm2html/search.php?query=php-mcryptで適切なRPMパッケージを見つけます(PHPのバージョンとCPUアーキテクチャに一致します)

私にとってはftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

これでインストールは完了です。

wget -c ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm
rpm -i --nodeps php-mcrypt-5.3.3-1.el6.x86_64.rpm

php -vエラーを確認してください。


EPELリポジトリを適切にインストールして、依存関係が適切に解決されるようにします。ネット上でランダムなパッケージを探しに行かないでください!
フォンブランド

@vonbrandうん、あなたは右の私はそれを試してみましたが、しかし、1つを見つけることができませんでしたので、すぐに問題を解決するためのソリューションの上に使用
Maulikシャー

-2

CentOS5にはphp-5.3用のmcrypt RPMがないように見えるので、自分でコンパイルする必要があるようです。

コンパイルの実行方法については、以下をご覧ください。

http://chrisjean.com/2011/06/24/upgrade-php-5-1-or-5-2-to-5-3-on-centos/

これが重要な場合、mcryptとpearのパッケージ管理から抜け出すことに注意してください。


作業中の実際の問題が完全に異なる場合、このようなパッケージを手動で管理することは、通常間違いです。セキュリティの更新、バグ修正については知りませんし、物事を台無しにして、間違った問題を修正するのに時間を浪費する確かなチャンスがあります。それと、RedHatに関連するリポジトリであるEPELは、EL5ベースのディストリビューション用のphp53-mcryptパッケージを公開しています。
colechristensen

私は問題をよく知っています。問題は、元のポスターの以前の質問から、CentOS5インスタンスでphp 5.3を実行しようとしているということです。php53-mcryptとphp53-pearのパッケージがないので、私が引用したブログ投稿から、とにかく彼は台無しにされてしまいます。彼がCentOS5ボックスを使用しなければならない場合、php mcryptとpearが必要な場合はあまり選択肢がありません。
cjc

実際、colechristensenの投稿をフォローしたときにphp53-mcryptがインストールされました。しかし、php53-pearとphp53-mhashは失敗しました。私はコンパイルを混乱させたくないので、より良いオプションは1だと思います:php52でこれをすべてやり直してください(少なくともPHP 5.2が必要です)。それに失敗した場合は、CentOSを5.7にアップグレードしてみます。それに失敗した場合は、新しいサーバーを購入し、自分で実行可能なOSをインストールしてください。
バトルビュータス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.