Jak zainstalować mcrypt dla PHP 5.3.3 na 64-bitowym CentOS 5.7?

11

Zainstalowałem php 5.3 i niektóre moduły za pomocą

yum install php53-{module-name}

Ale mcrypt nie działał.

Szukałem tak:

yum list php* | grep mcry

Jedyny pakiet, który się pojawił, to

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

Mam dokładnie taki sam problem z mhash. Wyniki dla php są jeszcze bardziej mylące.

Wiem, że to chyba głupie pytanie, ale każda pomoc byłaby mile widziana. Jestem przyzwyczajony do prostej „instalacji apt-get” Ubuntu i wszystko działa. CentOS wydaje się być o wiele bardziej szczegółowy.

Dzięki.

EDYCJA: Oto, co próbowałem:

yum install php53-mcrypt

Wynik:

No package php53-mcrypt available

I próbując tego:

yum install php-mcrypt

Prowadzi do:

Error: php53-common conflicts with php-common

Ponieważ php-mcrypt próbuje uzyskać php-common jako zależność (?) I staram się używać php 5.3 zamiast domyślnego php 5.1 na CentOS 5.7.

Buttle Butkus
źródło
Co dokładnie nie działało i jak się nie udało? Czy możesz podać fragment wyniku?
colechristensen
Zaktualizowałem swój post, dodając niektóre z rzeczy, które próbowałem i wyniki.
Buttle Butkus

Odpowiedzi:

18

Czy php 5.3 jest naprawdę potrzebny do tego, co robisz? Nie zakładaj automatycznie, że nowsze są lepsze.

Jeśli uaktualnisz do CentOS 6 php 5.3 jest domyślny.

To, co musisz zrozumieć, to RedHat (a zatem i jego klony) jest bardzo konserwatywny w przypadku aktualizacji pakietów bez uzasadnionego powodu. Jeśli chcesz go wypchnąć i uzyskać więcej zaktualizowanych pakietów, spodziewaj się problemów.

To powiedziawszy, pakiet, którego szukasz, istnieje! Wszystko, co musisz zrobić, to

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

Repozytorium EPEL zawiera więcej i więcej uaktualnionych pakietów, które uzupełniają domyślne repozytorium.


Zainstaluj repozytorium EPEL w 32-bitowym CentOS Linux 5.5:

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

Zainstaluj repozytorium EPEL na 64-bitowym CentOS Linux 5.5:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
colechristensen
źródło
Nie, php 5.3 nie jest tak naprawdę konieczne. Ale php 5.2+ jest. Tak czy inaczej, nie mogę użyć domyślnego PHP używanego w CentOS 5.7. Jeśli zainstalowanie 5.2 ze wszystkimi potrzebnymi pakietami jest znacznie łatwiejsze, na pewno bym to zrobił. Ponieważ jednak nie jest to domyślne, zakładam, że może być tak samo trudne i dlatego równie dobrze mogę włożyć wysiłek w 5.3, jak i 5.2. ??
Buttle Butkus
Uruchom polecenia, aby zainstalować EPEL, a twoje problemy zostaną łatwo rozwiązane.
colechristensen
Ponadto, jeśli nie byłoby to zbyt wielkim problemem, czy mógłbyś wyjaśnić, w jaki sposób znalazłeś pakiet i upewniłeś się, że jest on poprawny dla wersji systemu operacyjnego, procesora (32/64 bit) i wersji PHP? To znaczy, jakiego narzędzia użyłeś, aby znaleźć adres URL rpm, który dał ci dokładnie potrzebny pakiet? Wielkie dzięki!
Buttle Butkus
1
Tak więc, instalacja yum php53-mcrypt działała, ale bardzo niestety php53-mhash i php53-gruszka nie zostały znalezione. Czy to oznacza, że ​​nie istnieją w EPEL?
Buttle Butkus
1
Ta odpowiedź zadziałała dla mnie. Nie zapomnij ponownie uruchomić /etc/init.d/httpd restart, aby wyświetlić zmiany.
Josh
2

To na pewno zadziała w wersjach CentOS / RHEL 6+.
Mam nadzieję, że podobne podejście zadziała w wersjach 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
夏 期 劇場
źródło
1

Ponieważ ludzie wciąż tu przyjeżdżają, dam odpowiedź, której jeszcze nie widziałem.

Korzystam z CentOS, ale muszę także być na bieżąco z PHP i MySQL, z późniejszymi wersjami niż Red Hat zdecyduje się zapewnić. Aby rozwiązać ten problem, korzystam z repozytorium remi , które udostępnia aktualne pakiety PHP, MySQL, Symfony i kilka innych rzeczy dla CentOS.

(I właśnie wycofałem z eksploatacji ostatnie pudełko CentOS 5 niecałą godzinę temu, hura!)

Michael Hampton
źródło
Skończyłem rozwiązywanie mojego problemu i chociaż było to kilka miesięcy temu, sądzę , że korzystało z repozytorium remiksów. Pamiętam też, że wpadłem na kilka usterek. Musiałem odinstalować / zainstalować ponownie kilka razy, zanim wszystko poszło dobrze.
Buttle Butkus,
Remi stał tuż za EPEL w repozytoriach, które dodałem do świeżo zainstalowanego pudełka CentOS. Później oszczędza wielu bólów głowy. :)
Michael Hampton,
-1

Początkowo dowiedz się, jakiej wersji PHP używasz:

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

Znajdź odpowiedni pakiet RPM na http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (dopasuj swoją wersję PHP i architekturę procesora)

Dla mnie było to ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

To kończy instalację:

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

Sprawdź php -vbłędy.

Maulik Shah
źródło
Lepiej zainstaluj repozytoria EPEL, aby wszelkie zależności zostały poprawnie rozwiązane. Czy nie iść na polowanie na przypadkowych paczek ponad siatki!
vonbrand
tak @vonbrand, masz rację, próbowałem, ale nie znalazłem, więc zastosowałem powyższe rozwiązanie, aby szybko rozwiązać problem
Maulik Shah
-2

Wygląda na to, że będziesz musiał go skompilować sam, ponieważ wydaje się, że nie ma RPM mcrypt dla php-5.3 na CentOS5.

Zobacz, jak wykonać kompilację:

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

Zauważ, że to zabierze cię z zarządzania pakietami dla mcrypt i gruszki, jeśli to ważne.

cjc
źródło
Ręczne zarządzanie takimi pakietami, gdy prawdziwy problem, nad którym pracujesz, jest zupełnie inny ... jest zwykle błędem. Nie będziesz wiedział o aktualizacjach zabezpieczeń, poprawkach błędów i będziesz mieć dużą szansę na popsucie rzeczy i marnowanie czasu na naprawianie niewłaściwych problemów. To oraz EPEL, repozytorium powiązane z RedHat, publikuje pakiet php53-mcrypt dla dystrybucji opartych na EL5.
colechristensen
Jestem całkowicie świadomy problemów. Problem polega na tym, że z wcześniejszych pytań oryginalnego plakatu jest on w związku, próbując uruchomić php 5.3 na instancji CentOS5. Z postu na blogu, który zacytowałem, i tak zostanie spieprzony, ponieważ nie ma pakietów php53-mcrypt i php53-gruszka, więc bez względu na to, co zrobi, będzie poza kontrolą wersji. Jeśli musi być na polu CentOS5, nie ma większego wyboru, jeśli potrzebuje php mcrypt i gruszki.
cjc 30.01.12
W rzeczywistości php53-mcrypt został zainstalowany, gdy śledziłem post colechristensen. Ale php53-gruszka i php53-mhash zawiodły. Nie chcę mieszać się z kompilacją, więc myślę, że lepsze opcje to 1: spróbuj zrobić to wszystko ponownie z php52 (potrzebuję przynajmniej php 5.2). A jeśli to się nie powiedzie, spróbuję zaktualizować CentOS do 5.7. A jeśli to się nie powiedzie, kup nowy serwer i sam zainstaluj działający system operacyjny.
Buttle Butkus