Bagaimana cara menginstal mcrypt untuk PHP 5.3.3 pada CentOS 5.7 64 bit?

11

Saya menginstal php 5.3 dan beberapa modul menggunakan

yum install php53-{module-name}

Tetapi mcrypt tidak berfungsi.

Saya mencari seperti ini:

yum list php* | grep mcry

Satu-satunya paket yang muncul adalah

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

Saya memiliki masalah yang sama persis dengan mhash. Hasil untuk php bahkan lebih membingungkan.

Saya tahu ini mungkin pertanyaan bodoh, tetapi bantuan apa pun akan dihargai. Saya terbiasa dengan "apt-get install" Ubuntu yang sederhana dan semuanya berfungsi. CentOS tampaknya lebih berorientasi pada detail.

Terima kasih.

EDIT: Inilah yang saya coba:

yum install php53-mcrypt

Hasil:

No package php53-mcrypt available

Dan mencoba ini:

yum install php-mcrypt

Hasil dalam:

Error: php53-common conflicts with php-common

Karena php-mcrypt mencoba untuk mendapatkan php-common sebagai dependensi (?) Dan saya mencoba menggunakan php 5.3 daripada default php 5.1 pada CentOS 5.7.

Butkus Buttle
sumber
Apa yang sebenarnya tidak berhasil dan bagaimana itu gagal? Bisakah Anda memberikan potongan output?
colechristensen
Saya memperbarui posting saya dengan beberapa hal yang saya coba dan hasilnya.
Buttle Butkus

Jawaban:

18

Apakah php 5.3 benar - benar diperlukan untuk apa yang Anda lakukan? Jangan secara otomatis menganggap yang lebih baru lebih baik.

Jika Anda meningkatkan ke CentOS 6 php 5.3 adalah default.

Apa yang harus Anda pahami adalah RedHat (dan karenanya klonnya) sangat konservatif dalam memutakhirkan paket dengan alasan yang bagus. Jika Anda ingin mendorongnya dan mendapatkan lebih banyak paket yang ditingkatkan, ada masalah.

Yang mengatakan, paket yang Anda cari ada! Yang perlu Anda lakukan adalah

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

Repo EPEL berisi lebih banyak, dan lebih banyak paket yang ditingkatkan untuk melengkapi repositori default.


Instal EPEL Repository Pada 32-bit CentOS Linux 5.5:

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

Instal EPEL Repository Pada 64-bit CentOS Linux 5.5:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
colechristensen
sumber
Tidak, php 5.3 tidak terlalu diperlukan. Tapi php 5.2+ adalah. Either way, saya tidak bisa menggunakan PHP default yang digunakan di CentOS 5.7. Jika menginstal 5.2 dengan semua paket yang saya butuhkan jauh lebih mudah, saya pasti akan melakukannya. Tetapi karena itu bukan default juga, saya menganggap itu mungkin sama sulitnya dan oleh karena itu saya juga berusaha untuk 5.3 dan 5.2. ??
Buttle Butkus
Jalankan perintah untuk menginstal EPEL dan masalah Anda akan diselesaikan dengan mudah.
colechristensen
Juga, jika tidak akan terlalu banyak masalah, bisakah Anda menjelaskan bagaimana Anda menemukan paket dan memastikan itu adalah yang benar untuk versi OS, prosesor (32/64 bit), dan versi PHP? Yaitu alat apa yang Anda gunakan untuk menemukan url rpm yang memberi Anda paket tepat yang Anda butuhkan? Terima kasih banyak!
Buttle Butkus
1
Jadi, yum instal php53-mcrypt berfungsi, tetapi sayangnya php53-mhash dan php53-pear tidak ditemukan. Apakah ini berarti mereka tidak ada di EPEL?
Buttle Butkus
1
Jawaban ini berhasil untuk saya. Jangan lupa restart /etc/init.d/httpd restart,, untuk melihat perubahan.
Josh
2

Ini pasti akan bekerja pada Versi CentOS / RHEL 6+.
Semoga pendekatan serupa akan bekerja pada versi 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
夏 期 劇場
sumber
1

Karena orang masih datang ke sini, saya akan memberikan jawaban yang belum saya lihat.

Saya menjalankan CentOS tetapi saya juga harus tetap menggunakan PHP dan MySQL, dengan versi yang lebih baru dari yang diberikan Red Hat. Untuk mengatasi masalah ini, saya menggunakan repositori remi , yang menyediakan paket PHP, MySQL, Symfony dan beberapa hal lainnya untuk CentOS.

(Dan saya baru saja menonaktifkan kotak CentOS 5 terakhir kurang dari satu jam yang lalu, hore!)

Michael Hampton
sumber
Saya akhirnya memecahkan masalah saya dan, meskipun berbulan-bulan yang lalu, saya percaya itu menggunakan repositori remi. Saya juga ingat mengalami beberapa gangguan. Saya harus menghapus / menginstal ulang beberapa kali sebelum semuanya berjalan dengan baik.
Buttle Butkus
Remi telah menjadi tepat di belakang EPEL dalam repositori yang saya tambahkan ke kotak CentOS yang baru diinstal. Menghemat banyak sakit kepala nanti. :)
Michael Hampton
-1

Awalnya, cari tahu versi PHP apa yang Anda gunakan:

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

Temukan paket RPM yang sesuai di http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (cocok dengan versi PHP dan arsitektur CPU Anda)

Bagi saya itu adalah ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

Ini menyelesaikan instalasi:

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

Periksa php -vkesalahan.

Maulik Shah
sumber
Lebih baik instal repositori EPEL dengan benar sehingga setiap dependensi dapat diselesaikan dengan benar. Jangan tidak pergi berburu paket acak melewati net!
vonbrand
yep @vonbrand, Anda benar saya mencobanya, tetapi tidak menemukannya, jadi gunakan solusi di atas untuk menyelesaikan masalah dengan cepat
Maulik Shah
-2

Sepertinya Anda harus mengkompilasinya sendiri, karena sepertinya tidak ada RPM mcrypt untuk php-5.3 di CentOS5.

Lihatlah ini tentang bagaimana melakukan kompilasi:

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

Perhatikan bahwa ini akan membawa Anda keluar dari manajemen paket untuk mcrypt dan pear, jika itu penting.

cjc
sumber
Mengelola paket secara manual seperti ini ketika masalah sebenarnya yang Anda kerjakan benar-benar berbeda ... biasanya kesalahan. Anda tidak akan tahu tentang pembaruan keamanan, perbaikan bug, dan memiliki peluang yang kuat untuk mengacaukan semuanya dan membuang-buang waktu Anda memperbaiki masalah yang salah. Itu, dan EPEL, repositori yang berafiliasi dengan RedHat, menerbitkan paket php53-mcrypt untuk distribusi berbasis EL5.
colechristensen
Saya cukup menyadari masalah ini. Masalahnya adalah bahwa, dari pertanyaan-pertanyaan sebelumnya dari poster asli, ia berada dalam kesulitan dalam mencoba menjalankan php 5.3 pada instance CentOS5. Dari posting blog yang saya kutip, dia akan tetap kacau, karena tidak ada paket php53-mcrypt dan php53-pear, jadi tidak peduli apa yang dia lakukan dia akan keluar dari kontrol versi. Jika dia harus berada di kotak CentOS5, dia tidak punya banyak pilihan jika dia membutuhkan php mcrypt dan pear.
cjc
Sebenarnya, php53-mcrypt memang diinstal ketika saya mengikuti posting colechristensen. Tetapi php53-pear dan php53-mhash gagal. Saya tidak ingin mengacaukan kompilasi, jadi saya pikir pilihan yang lebih baik adalah 1: coba lakukan semua ini lagi dengan php52 (saya perlu setidaknya php 5.2). Dan jika itu gagal, saya akan mencoba memutakhirkan CentOS ke 5.7. Dan jika itu gagal, beli server baru dan instal OS yang bisa diterapkan sendiri.
Buttle Butkus