จะติดตั้ง mcrypt สำหรับ PHP 5.3.3 บน CentOS 5.7 64 บิตได้อย่างไร


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 ยิ่งทำให้สับสน

ฉันรู้ว่านี่อาจเป็นคำถามที่โง่ แต่ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม ฉันคุ้นเคยกับ "apt-get install" ของ Ubuntu และทุกอย่างทำงานได้ดี 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 เป็นการพึ่งพา (?) และฉันกำลังพยายามใช้ php 5.3 มากกว่า php 5.1 ที่เป็นค่าเริ่มต้นบน CentOS 5.7


อะไรที่ไม่ได้ผลและล้มเหลวอย่างไร คุณสามารถให้ตัวอย่างของผลผลิตหรือไม่
colechristensen

ฉันอัปเดตโพสต์ของฉันด้วยสิ่งที่ฉันได้ลองและผลลัพธ์
Buttle Butkus

คำตอบ:


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

repo ของ EPEL มีแพ็คเกจที่อัพเกรดเพิ่มมากขึ้นเพื่อให้สอดคล้องกับที่เก็บเริ่มต้น


ติดตั้งที่เก็บ EPEL บน CentOS Linux แบบ 32 บิต:

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

ติดตั้งที่เก็บ EPEL บน CentOS Linux 64 บิต:

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

ไม่ php 5.3 ไม่จำเป็นจริงๆ แต่ php 5.2+ คือ ฉันไม่สามารถใช้ PHP เริ่มต้นที่ใช้ใน CentOS 5.7 ได้ หากการติดตั้ง 5.2 พร้อมกับแพ็คเกจทั้งหมดที่ฉันต้องการนั้นง่ายกว่ามากฉันจะทำมันอย่างแน่นอน แต่เนื่องจากมันไม่ใช่ค่าเริ่มต้นฉันคิดว่ามันอาจจะยากและดังนั้นฉันจึงพยายาม 5.3 สำหรับ 5.2 เช่นกัน ??
Buttle Butkus

เรียกใช้คำสั่งเพื่อติดตั้ง EPEL และปัญหาของคุณจะได้รับการแก้ไขอย่างง่ายดาย
colechristensen

นอกจากนี้ถ้ามันจะไม่เป็นปัญหามากเกินไปคุณสามารถอธิบายวิธีการที่คุณพบแพคเกจและทำให้แน่ใจว่ามันเป็นหนึ่งที่ถูกต้องสำหรับรุ่นระบบปฏิบัติการโปรเซสเซอร์ (32/64 บิต) และรุ่น PHP? คุณใช้เครื่องมืออะไรในการค้นหา URL รอบต่อนาทีที่ให้แพ็คเกจที่คุณต้องการ ขอบคุณมาก!
Buttle Butkus

1
ดังนั้น yum ติดตั้ง php53-mcrypt จึงทำงานได้ แต่ไม่พบ php53-mhash และ php53-pear นี่หมายความว่าไม่มีใน EPEL หรือไม่
Buttle Butkus

1
คำตอบนี้ใช้ได้สำหรับฉัน อย่าลืมรีสตาร์ท/etc/init.d/httpd restartเพื่อดูการเปลี่ยนแปลง
Josh

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 แต่ฉันยังต้องการให้เป็นปัจจุบันด้วย PHP และ MySQL ด้วยรุ่นที่ใหม่กว่าที่ Red Hat เลือกที่จะให้ เพื่อแก้ปัญหานี้ฉันใช้repi repositoryซึ่งให้แพ็คเกจปัจจุบันของ PHP, MySQL, Symfony และอีกหลายอย่างสำหรับ CentOS

(และฉันเพิ่งปลดประจำการ CentOS 5 กล่องสุดท้ายน้อยกว่าหนึ่งชั่วโมงที่ผ่านมาไชโย!)


ฉันลงเอยด้วยการแก้ปัญหาและแม้ว่าจะเป็นเวลาหลายเดือนที่ผ่านมา แต่ฉันเชื่อว่ามันใช้ที่เก็บ remi ฉันยังจำได้ว่าทำงานเป็นบกพร่องไม่กี่แม้ว่า ฉันต้องถอนการติดตั้ง / ติดตั้งซ้ำหลาย ๆ ครั้งก่อนที่ทุกอย่างจะถูกต้อง
Buttle Butkus

Remi อยู่ข้างหลัง EPEL ในที่เก็บข้อมูลที่ฉันเพิ่มไปยังกล่อง CentOS ที่ติดตั้งใหม่ มันช่วยประหยัดอาการปวดหัวจำนวนมากในภายหลัง :)
Michael Hampton

-1

เริ่มแรกตรวจสอบว่าคุณใช้ PHP เวอร์ชันใด:

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

ค้นหาแพ็คเกจ RPM ที่เหมาะสมในhttp://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (ตรงกับรุ่น 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

ใช่ @ vonbrand คุณถูกฉันพยายาม แต่ไม่พบดังนั้นใช้วิธีแก้ปัญหาดังกล่าวข้างต้นเพื่อแก้ปัญหาได้อย่างรวดเร็ว
Maulik Shah

-2

ดูเหมือนว่าคุณจะต้องรวบรวมมันเองเนื่องจากดูเหมือนว่าจะไม่มี mcrypt RPM สำหรับ php-5.3 บน CentOS5

ลองดูที่นี่เกี่ยวกับวิธีการรวบรวม:

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

โปรดทราบว่าสิ่งนี้จะนำคุณออกจากการจัดการแพ็กเกจสำหรับ mcrypt และลูกแพร์หากเป็นสิ่งสำคัญ


การจัดการแพ็กเกจด้วยตนเองเช่นนี้เมื่อปัญหาจริงที่คุณกำลังทำอยู่นั้นแตกต่างไปจากเดิมอย่างสิ้นเชิง ... มักจะเป็นข้อผิดพลาด คุณจะไม่รู้เกี่ยวกับการอัปเดตความปลอดภัยการแก้ไขข้อบกพร่องและมีโอกาสอย่างมากในการไขปัญหาและเสียเวลาในการแก้ไขปัญหาที่ผิด นั่นและ EPEL ซึ่งเป็นที่เก็บของ RedHat เผยแพร่แพ็คเกจ php53-mcrypt สำหรับการแจกแจงแบบอิง EL5
colechristensen

ฉันค่อนข้างตระหนักถึงปัญหา ปัญหาคือจากคำถามก่อนหน้านี้ของผู้โพสต์ดั้งเดิมเขาพยายามผูกมัดให้ php 5.3 ทำงานบนอินสแตนซ์ CentOS5 จากโพสต์ในบล็อกที่ฉันอ้างถึงเขาจะถูกทำให้เมาเพราะไม่มีแพ็คเกจ php53-mcrypt และ php53-pear ดังนั้นไม่ว่าเขาจะทำอะไรก็ตามจะควบคุมเวอร์ชันไม่ได้ ถ้าเขาต้องอยู่บนกล่อง CentOS5 เขาไม่มีทางเลือกมากนักถ้าเขาต้องการ php mcrypt และลูกแพร์
cjc

ที่จริง php53-mcrypt ไม่ได้รับการติดตั้งเมื่อฉันติดตามโพสต์ของ colechristensen แต่ php53-pear และ php53-mhash ล้มเหลว ฉันไม่ต้องการยุ่งกับการรวบรวมดังนั้นฉันคิดว่าตัวเลือกที่ดีกว่าคือ 1: ลองทำทั้งหมดนี้อีกครั้งด้วย php52 (ฉันต้องการอย่างน้อย php 5.2) และถ้ามันล้มเหลวฉันก็ลองอัพเกรด CentOS เป็น 5.7 และหากล้มเหลวให้ซื้อเซิร์ฟเวอร์ใหม่และติดตั้งระบบปฏิบัติการที่ใช้งานได้ด้วยตัวเอง
Buttle Butkus
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.