Wie installiere ich mcrypt für PHP 5.3.3 unter CentOS 5.7 64 Bit?

11

Ich habe PHP 5.3 und einige Module mit installiert

yum install php53-{module-name}

Aber mcrypt hat nicht funktioniert.

Ich habe so gesucht:

yum list php* | grep mcry

Das einzige Paket, das auftauchte, war

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

Ich habe genau das gleiche Problem mit mhash. Die Ergebnisse für PHP sind noch verwirrender.

Ich weiß, dass dies wahrscheinlich eine dumme Frage ist, aber jede Hilfe wäre dankbar. Ich bin an Ubuntus einfache "apt-get install" gewöhnt und alles funktioniert. CentOS scheint viel detailorientierter zu sein.

Vielen Dank.

EDIT: Folgendes habe ich versucht:

yum install php53-mcrypt

Ergebnis:

No package php53-mcrypt available

Und das versuchen:

yum install php-mcrypt

Ergebnisse in:

Error: php53-common conflicts with php-common

Weil php-mcrypt versucht, php-common als Abhängigkeit zu bekommen (?) Und ich versuche, php 5.3 anstelle des Standard-php 5.1 unter CentOS 5.7 zu verwenden.

Buttle Butkus
quelle
Was genau hat nicht funktioniert und wie ist es gescheitert? Könnten Sie einen Ausschnitt der Ausgabe bereitstellen?
Colechristensen
Ich habe meinen Beitrag mit einigen der Dinge, die ich ausprobiert habe, und der Ausgabe aktualisiert.
Buttle Butkus

Antworten:

18

Ist PHP 5.3 wirklich notwendig für das, was Sie tun? Gehen Sie nicht automatisch davon aus, dass neuer besser ist.

Wenn Sie auf CentOS 6 upgraden, ist PHP 5.3 die Standardeinstellung.

Was Sie verstehen müssen, ist, dass RedHat (und damit seine Klone) sehr konservativ ist, wenn es darum geht, Pakete aus gutem Grund zu aktualisieren. Wenn Sie möchten, dass die Push-Version und mehr aktualisierte Pakete erhalten, erwarten Sie Probleme.

Das heißt, das Paket, das Sie suchen, existiert! Alles was Sie tun müssen, ist

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

Das EPEL-Repo enthält immer mehr aktualisierte Pakete, um das Standard-Repository zu ergänzen.


Installieren Sie das EPEL-Repository unter 32-Bit-CentOS Linux 5.5:

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

Installieren Sie das EPEL-Repository unter 64-Bit-CentOS Linux 5.5:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
colechristensen
quelle
Nein, PHP 5.3 ist nicht wirklich notwendig. Aber PHP 5.2+ ist. In beiden Fällen kann ich das in CentOS 5.7 verwendete Standard-PHP nicht verwenden. Wenn die Installation von 5.2 mit allen benötigten Paketen erheblich einfacher ist, würde ich es auf jeden Fall tun. Aber da dies auch nicht die Standardeinstellung ist, gehe ich davon aus, dass es genauso schwierig sein kann, und daher kann ich mich sowohl für 5.3 als auch für 5.2 anstrengen. ??
Buttle Butkus
Führen Sie die Befehle aus, um EPEL zu installieren, und Ihre Probleme werden leicht gelöst.
colechristensen
Wenn es nicht zu viel Mühe geben würde, könnten Sie bitte erklären, wie Sie das Paket gefunden und sichergestellt haben, dass es das richtige für die Betriebssystemversion, den Prozessor (32/64 Bit) und die PHP-Version ist. Dh mit welchem ​​Tool haben Sie die RPM-URL gefunden, mit der Sie genau das Paket erhalten haben, das Sie benötigt haben? Danke vielmals!
Buttle Butkus
1
Also, yum install php53-mcrypt hat funktioniert, aber leider wurden php53-mhash und php53-pear nicht gefunden. Bedeutet das, dass sie auf EPEL nicht existieren?
Buttle Butkus
1
Diese Antwort hat bei mir funktioniert. Vergessen Sie nicht, neu zu starten /etc/init.d/httpd restart, um die Änderungen anzuzeigen.
Josh
2

Dies wird definitiv auf CentOS / RHEL 6+ Versionen funktionieren .
Hoffe, dass ein ähnlicher Ansatz bei 5+ Versionen funktioniert.

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update
yum install -y php-mcrypt
夏 期 劇場
quelle
1

Da die Leute immer noch hierher kommen, werde ich eine Antwort einwerfen, die ich noch nicht gesehen habe.

Ich verwende CentOS, muss aber auch mit PHP und MySQL auf dem neuesten Stand bleiben, mit späteren Versionen, die Red Hat zur Verfügung stellt. Um dieses Problem zu lösen, benutze ich die Remi-Repository , das aktuelle Pakete von PHP, MySQL, Symfony und einigen anderen Dingen für CentOS bereitstellt.

(Und ich habe gerade die letzte CentOS 5-Box vor weniger als einer Stunde außer Betrieb genommen, hurra!)

Michael Hampton
quelle
Am Ende habe ich mein Problem gelöst und obwohl es vor Monaten war, glaube ich, dass es das Remi-Repository verwendet hat. Ich erinnere mich auch, dass ich auf ein paar Pannen gestoßen bin. Ich musste mehrmals deinstallieren / neu installieren, bevor alles richtig lief.
Buttle Butkus
Remi ist in den Repositories, die ich einer frisch installierten CentOS-Box hinzufüge, direkt hinter EPEL geworden. Es erspart später viele Kopfschmerzen. :)
Michael Hampton
-1

Finden Sie zunächst heraus, welche Version von PHP Sie verwenden:

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

Das entsprechende RPM-Paket finden Sie unter http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (passen Sie Ihre PHP-Version und CPU-Architektur an).

Für mich war es ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

Damit ist die Installation abgeschlossen:

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

Auf php -vFehler prüfen.

Maulik Shah
quelle
Installieren Sie die EPEL-Repositorys besser ordnungsgemäß, damit alle Abhängigkeiten ordnungsgemäß aufgelöst werden. Gehen Sie nicht über das Netz auf die Suche nach zufälligen Paketen!
vonbrand
yep @vonbrand, Sie haben Recht, ich habe es versucht, aber keine gefunden, also oben verwendete Lösung verwendet, um das Problem schnell zu lösen
Maulik Shah
-2

Sieht so aus, als müssten Sie es selbst kompilieren, da es unter CentOS5 anscheinend kein mcrypt RPM für PHP-5.3 gibt.

Sehen Sie sich an, wie Sie kompilieren:

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

Beachten Sie, dass Sie dadurch die Paketverwaltung für mcrypt und pear verlassen, wenn dies wichtig ist.

cjc
quelle
Das manuelle Verwalten solcher Pakete, wenn das eigentliche Problem, an dem Sie arbeiten, völlig anders ist ... ist normalerweise ein Fehler. Sie wissen nichts über Sicherheitsupdates, Bugfixes und haben eine solide Chance, Dinge zu vermasseln und Ihre Zeit damit zu verschwenden, die falschen Probleme zu beheben. Das und EPEL, ein mit RedHat verbundenes Repository, veröffentlicht ein php53-mcrypt-Paket für EL5-basierte Distributionen.
colechristensen
Ich bin mir der Probleme ziemlich bewusst. Das Problem ist, dass er aufgrund der früheren Fragen des Originalplakats versucht, PHP 5.3 auf einer CentOS5-Instanz zum Laufen zu bringen. Aus dem Blog-Beitrag, den ich zitiert habe, wird er sowieso geschraubt, da es keine php53-mcrypt- und php53-pear-Pakete gibt. Egal was er tut, er wird außerhalb der Versionskontrolle sein. Wenn er auf einer CentOS5-Box sein muss, hat er keine große Wahl, wenn er PHP-Mcrypt und Birne benötigt.
cjc
Tatsächlich wurde php53-mcrypt installiert, als ich dem Beitrag von colechristensen folgte. Aber php53-pear und php53-mhash sind gescheitert. Ich möchte mich nicht mit dem Kompilieren anlegen, daher denke ich, dass bessere Optionen 1 sind: Versuchen Sie, dies alles noch einmal mit PHP52 zu tun (ich brauche mindestens PHP 5.2). Und wenn dies fehlschlägt, würde ich versuchen, CentOS auf 5.7 zu aktualisieren. Wenn dies fehlschlägt, kaufen Sie einen neuen Server und installieren Sie selbst ein funktionsfähiges Betriebssystem.
Buttle Butkus