¿Cómo instalar mcrypt para PHP 5.3.3 en CentOS 5.7 de 64 bits?

11

Instalé php 5.3 y algunos módulos usando

yum install php53-{module-name}

Pero mcrypt no funcionó.

Busqué así:

yum list php* | grep mcry

El único paquete que surgió fue

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

Tengo el mismo problema exacto con mhash. Los resultados para php son aún más confusos.

Sé que esta es probablemente una pregunta tonta, pero agradecería cualquier ayuda. Estoy acostumbrado al sencillo "apt-get install" de Ubuntu y todo funciona. CentOS parece estar mucho más orientado a los detalles.

Gracias.

EDITAR: Esto es lo que probé:

yum install php53-mcrypt

Resultado:

No package php53-mcrypt available

Y probando esto:

yum install php-mcrypt

Resultados en:

Error: php53-common conflicts with php-common

Debido a que php-mcrypt intenta obtener php-common como una dependencia (?) Y estoy tratando de usar php 5.3 en lugar del php 5.1 predeterminado en CentOS 5.7.

Buttle Butkus
fuente
¿Qué no funcionó exactamente y cómo falló? ¿Podría proporcionar un fragmento de salida?
colechristensen
Actualicé mi publicación con algunas de las cosas que he probado y la salida.
Buttle Butkus

Respuestas:

18

¿Es php 5.3 realmente necesario para lo que estás haciendo? No asuma automáticamente que más nuevo es mejor.

Si actualiza a CentOS 6 php 5.3 es el valor predeterminado.

Lo que debe entender es que RedHat (y, por lo tanto, sus clones) es muy conservador acerca de la actualización de paquetes con buenas razones. Si desea impulsarlo y obtener más paquetes actualizados, espere problemas.

Dicho esto, ¡el paquete que estás buscando existe! Todo lo que necesitas hacer es

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

El repositorio EPEL contiene más y más paquetes actualizados para complementar el repositorio predeterminado.


Instale el repositorio EPEL en CentOS Linux 5.5 de 32 bits:

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

Instale el repositorio EPEL en CentOS Linux 5.5 de 64 bits:

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
colechristensen
fuente
No, php 5.3 no es realmente necesario. Pero php 5.2+ es. De cualquier manera, no puedo usar el PHP predeterminado usado en CentOS 5.7. Si instalar 5.2 con todos los paquetes que necesito es significativamente más fácil, ciertamente lo haría. Pero dado que tampoco es el valor predeterminado, supongo que puede ser tan difícil y, por lo tanto, podría esforzarme tanto por 5.3 como por 5.2. ??
Buttle Butkus
Ejecute los comandos para instalar EPEL y sus problemas se resolverán fácilmente.
colechristensen
Además, si no hubiera demasiados problemas, ¿podría explicar cómo encontró el paquete y se aseguró de que fuera el correcto para la versión del sistema operativo, el procesador (32/64 bits) y la versión de PHP? Es decir, ¿qué herramienta usaste para encontrar la URL de rpm que te dio el paquete exacto que necesitabas? ¡Muchas gracias!
Buttle Butkus
1
Entonces, yum install php53-mcrypt funcionó, pero lamentablemente no se encontraron php53-mhash y php53-pear. ¿Esto significa que no existen en EPEL?
Buttle Butkus
1
Esta respuesta funcionó para mí. No olvide reiniciar /etc/init.d/httpd restartpara ver los cambios.
Josh
2

Esto definitivamente funcionará en las versiones CentOS / RHEL 6+.
Espero que un enfoque similar funcione en 5+ versiones.

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

Como la gente todavía viene aquí, voy a dar una respuesta que aún no he visto.

Ejecuto CentOS, pero también necesito mantenerme actualizado con PHP y MySQL, con versiones posteriores que Red Hat elige proporcionar. Para resolver este problema, utilizo el repositorio remi , que proporciona paquetes actuales de PHP, MySQL, Symfony y algunas otras cosas para CentOS.

(Y acabo de retirar la última caja de CentOS 5 hace menos de una hora, ¡hurra!)

Michael Hampton
fuente
Terminé resolviendo mi problema y, aunque fue hace meses, creo que estaba usando el repositorio remi. Sin embargo, también recuerdo haber tenido algunos problemas técnicos. Tuve que desinstalar / reinstalar varias veces antes de que todo saliera bien.
Buttle Butkus
Remi se ha convertido justo detrás de EPEL en los repositorios que agrego a una caja CentOS recién instalada. Ahorra muchos dolores de cabeza más tarde. :)
Michael Hampton
-1

Inicialmente, descubra qué versión de PHP está utilizando:

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

Encuentre el paquete RPM apropiado en http://rpmfind.net/linux/rpm2html/search.php?query=php-mcrypt (coincida con su versión de PHP y arquitectura de CPU)

Para mí fue ftp://rpmfind.net/linux/epel/6/x86_64/php-mcrypt-5.3.3-1.el6.x86_64.rpm

Esto completa la instalación:

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

Verificar php -verrores.

Maulik Shah
fuente
Instale mejor los repositorios EPEL correctamente para que las dependencias se resuelvan correctamente. ¡ No salgas a buscar paquetes al azar por la red!
vonbrand
sí @vonbrand, tienes razón, lo intenté, pero no encontré uno, así que utilicé la solución anterior para resolver el problema rápidamente
Maulik Shah
-2

Parece que tendrá que compilarlo usted mismo, ya que no parece haber un RPM de mcrypt para php-5.3 en CentOS5.

Eche un vistazo a esto sobre cómo hacer la compilación:

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

Tenga en cuenta que esto lo sacará de la administración de paquetes para mcrypt y pear, si eso es importante.

cjc
fuente
La gestión manual de paquetes como este cuando el problema real en el que está trabajando es completamente diferente ... generalmente es un error. No sabrá sobre actualizaciones de seguridad, correcciones de errores, y tendrá una oportunidad sólida de arruinar las cosas y perder el tiempo solucionando los problemas incorrectos. Eso, y EPEL, un repositorio afiliado a RedHat, publica un paquete php53-mcrypt para distribuciones basadas en EL5.
colechristensen
Soy bastante consciente de los problemas. El problema es que, a partir de las preguntas anteriores del póster original, está tratando de hacer que php 5.3 se ejecute en una instancia de CentOS5. De la publicación del blog que cité, lo van a fastidiar de todos modos, ya que no hay paquetes php53-mcrypt y php53-pear, así que no importa lo que haga, estará fuera de control de versiones. Si tiene que estar en una caja CentOS5, no tiene muchas opciones si necesita php mcrypt y pear.
cjc
En realidad, php53-mcrypt se instaló cuando seguí la publicación de colechristensen. Pero php53-pear y php53-mhash fallaron. No quiero meterme con la compilación, así que creo que las mejores opciones son 1: intente hacer todo esto nuevamente con php52 (necesito al menos php 5.2). Y si eso falla, intentaría actualizar CentOS a 5.7. Y si eso falla, compre un nuevo servidor e instale un SO que funcione.
Buttle Butkus