Comment installer mcrypt pour PHP 5.3.3 sur CentOS 5.7 64 bits?

11

J'ai installé php 5.3 et certains modules en utilisant

yum install php53-{module-name}

Mais mcrypt n'a pas fonctionné.

J'ai cherché comme ça:

yum list php* | grep mcry

Le seul paquet qui est apparu était

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

J'ai exactement le même problème avec mhash. Les résultats pour php sont encore plus confus.

Je sais que c'est probablement une question stupide, mais toute aide serait appréciée. Je suis habitué à la simple "installation apt-get" d'Ubuntu et tout fonctionne. CentOS semble être beaucoup plus axé sur les détails.

Merci.

EDIT: Voici ce que j'ai essayé:

yum install php53-mcrypt

Résultat:

No package php53-mcrypt available

Et en essayant ceci:

yum install php-mcrypt

Résulte en:

Error: php53-common conflicts with php-common

Parce que php-mcrypt essaie d'obtenir php-common en tant que dépendance (?) Et j'essaie d'utiliser php 5.3 plutôt que le php 5.1 par défaut sur CentOS 5.7.

Buttle Butkus
la source
Qu'est-ce qui n'a pas fonctionné exactement et comment a-t-il échoué? Pourriez-vous fournir un extrait de sortie?
colechristensen
J'ai mis à jour mon article avec certaines des choses que j'ai essayées et la sortie.
Buttle Butkus

Réponses:

18

Php 5.3 est-il vraiment nécessaire pour ce que vous faites? Ne présumez pas automatiquement que le plus récent est meilleur.

Si vous passez à CentOS 6, php 5.3 est la valeur par défaut.

Ce que vous devez comprendre, c'est que RedHat (et donc ses clones) est très conservateur quant à la mise à niveau des packages pour une bonne raison. Si vous voulez le pousser et obtenir plus de packages mis à niveau, attendez-vous à des problèmes.

Cela dit, le package que vous recherchez existe! Tout ce que vous devez faire c'est

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

Le référentiel EPEL contient davantage de packages mis à niveau pour compléter le référentiel par défaut.


Installez le référentiel EPEL sur CentOS Linux 5.5 32 bits:

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

Installez le référentiel EPEL sur CentOS Linux 5.5 64 bits:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
colechristensen
la source
Non, php 5.3 n'est pas vraiment nécessaire. Mais php 5.2+ l'est. De toute façon, je ne peux pas utiliser le PHP par défaut utilisé dans CentOS 5.7. Si l'installation de 5.2 avec tous les packages dont j'ai besoin est beaucoup plus facile, je le ferais certainement. Mais comme ce n'est pas non plus la valeur par défaut, je suppose que cela peut être tout aussi difficile et donc je peux aussi bien faire l'effort pour 5.3 que pour 5.2. ??
Buttle Butkus
Exécutez les commandes pour installer EPEL et vos problèmes seront résolus facilement.
colechristensen
De plus, si cela ne vous posait pas trop de problèmes, pourriez-vous expliquer comment vous avez trouvé le package et vous assurer qu'il était le bon pour la version du système d'exploitation, le processeur (32/64 bits) et la version PHP? C'est-à-dire quel outil avez-vous utilisé pour trouver l'URL rpm qui vous a donné le package exact dont vous aviez besoin? Merci beaucoup!
Buttle Butkus
1
Donc, yum install php53-mcrypt a fonctionné, mais très malheureusement php53-mhash et php53-pear n'ont pas été trouvés. Est-ce à dire qu'ils n'existent pas sur EPEL?
Buttle Butkus
1
Cette réponse a fonctionné pour moi. N'oubliez pas de redémarrer /etc/init.d/httpd restart, pour afficher les modifications.
Josh
2

Cela fonctionnera certainement sur les versions CentOS / RHEL 6+.
J'espère qu'une approche similaire fonctionnera sur 5+ versions.

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

Puisque les gens viennent encore ici, je vais répondre par une réponse que je n'ai pas encore vue.

J'exécute CentOS mais je dois également rester à jour avec PHP et MySQL, avec des versions ultérieures que Red Hat choisit de fournir. Pour résoudre ce problème, j'utilise le dépôt remi , qui fournit les packages actuels de PHP, MySQL, Symfony et quelques autres choses pour CentOS.

(Et je viens de mettre hors service la dernière boîte CentOS 5 il y a moins d'une heure, hourra!)

Michael Hampton
la source
J'ai fini par résoudre mon problème et, même si c'était il y a des mois, je pense qu'il utilisait le dépôt remi. Je me souviens aussi d'avoir rencontré quelques problèmes. J'ai dû désinstaller / réinstaller plusieurs fois avant que tout se passe bien.
Buttle Butkus
Remi est devenu juste derrière EPEL dans les référentiels que j'ajoute à une boîte CentOS fraîchement installée. Cela évite beaucoup de maux de tête plus tard. :)
Michael Hampton
-1

Dans un premier temps, découvrez quelle version de PHP vous utilisez:

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

Trouvez le package RPM approprié sur http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (correspond à votre version PHP et à votre architecture CPU)

Pour moi, c'était ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

Ceci termine l'installation:

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

Vérifiez les php -verreurs.

Maulik Shah
la source
Mieux installer les référentiels EPEL correctement afin que toutes les dépendances soient résolues correctement. N'allez pas à la recherche de paquets aléatoires sur le net!
vonbrand
oui @vonbrand, vous avez raison, je l'ai essayé, mais je n'en ai pas trouvé, donc utilisé la solution ci-dessus pour résoudre le problème rapidement
Maulik Shah
-2

Il semble que vous devrez le compiler vous-même, car il ne semble pas y avoir de RPM mcrypt pour php-5.3 sur CentOS5.

Jetez un oeil à cela sur la façon de faire la compilation:

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

Notez que cela vous retirera de la gestion des packages pour mcrypt et pear, si cela est important.

cjc
la source
Gérer manuellement des packages comme celui-ci lorsque le véritable problème sur lequel vous travaillez est complètement différent ... est généralement une erreur. Vous ne saurez rien sur les mises à jour de sécurité, les corrections de bogues et vous aurez de bonnes chances de tout gâcher et de perdre votre temps à résoudre les mauvais problèmes. Cela, et EPEL, un référentiel affilié à RedHat, publie un package php53-mcrypt pour les distributions basées sur EL5.
colechristensen
Je suis tout à fait conscient des problèmes. Le problème est que, d'après les questions précédentes de l'affiche originale, il est dans l'impasse en essayant de faire fonctionner PHP 5.3 sur une instance CentOS5. D'après le blog que j'ai cité, il va être foutu de toute façon, car il n'y a pas de paquets php53-mcrypt et php53-pear, donc peu importe ce qu'il fait, il sera hors de contrôle de version. S'il doit être sur une boîte CentOS5, il n'a pas beaucoup de choix s'il a besoin de php mcrypt et de pear.
cjc
En fait, php53-mcrypt a été installé lorsque j'ai suivi le post de colechristensen. Mais php53-pear et php53-mhash ont échoué. Je ne veux pas jouer avec la compilation, donc je pense que les meilleures options sont 1: essayez de refaire tout cela avec php52 (j'ai besoin d'au moins php 5.2). Et si cela échoue, j'essaierais de mettre à niveau CentOS vers 5.7. Et si cela échoue, achetez un nouveau serveur et installez moi-même un système d'exploitation viable.
Buttle Butkus