Quiero actualizar mi servidor CentOS 6.4 de php53 (repositorio de epel) a php53u (repositorio de ius). Ya habilité el repositorio ius, pero dudo en jugar porque hay sitios web de producción en el servidor.
(Debido a que los sitios de producción están en Drupal 7, quiero permanecer en la pista 5.3, pero también quiero instalar un sitio de desarrollo de Drupal 8, que requiere un mínimo de 5.3.10 - epel solo me da 5.3.3)
¿Alguien puede darme una pista sobre cuál sería el enfoque más seguro:
- eliminar php53 (epel) e instalar php53u
- simplemente instale php53u y vea qué sucede
- tu otra recomendación
Un par de minutos de inactividad son aceptables, pero no más.
Respuestas:
Supongo que sus comandos deben estar en dos líneas separadas. Lo edité para reflejar eso.
El problema aquí es que "yum erase php" también eliminará las dependencias. Esto significa que perderá los paquetes que instaló que dependen de PHP. Existe un comando yum llamado
replace
. pero no siempre está presente y a veces ... sorpresas. Y no en el buen sentido.Por lo tanto, prefiero salir
yum shell
. Los comandos para completar su operación se verían así:En orden, somos:
yum shell
y/n
solicitud tradicional de yum para su aprobación antes de continuar.Para asegurarme de que realmente obtengo todo, he sabido escribir un poco de bash. Algo como:
La primera línea me da la lista de paquetes que puse
erase
dentro deyum shell
. La segunda línea me da la lista de paquetes para poner despuésinstall
. Tenga en cuenta que es posible que deba manejar algunos paquetes auxiliares (por ejemplo, los de PECL) manualmente. Use alguna varianterpm -qa | grep php | grep -vE '^php53.*5\.3'
para rastrearlos. Sin embargo, deberían ser raros.fuente
Ok, esto es lo que hice, lo que funcionó y lo que no:
Tres escenarios:
simplemente instale php53u y vea qué sucede reemplaza a php pero se queja de las dependencias
eliminar php e instalar php53u
Ese fue el que funcionó a las mil maravillas:
yum erase php
yum install php53u php53u-common php53u-xml php53u-devel php53u-mysql php53u-pecl php53u-gd
La recomendación de los comentaristas fue probar esto en un servidor de prueba primero (¡gracias por animarme!). Lo probé en un servidor CentOS 5.9 que ejecuta un sitio de desarrollo Drupal 7 (y un montón de cosas no relacionadas con PHP). Ese servidor ejecuta un servidor mysql 5.6, que requería instalar manualmente las rpm php53u-mysql usando --nodeps para que funcione - solo agregando esto aquí para completarlo.
Al final, no hubo tiempo de inactividad, solo una recarga elegante de httpd.
fuente
Mi problema giraba en torno al tema "conflictos de php53-common con php-common". La caja es un servidor antiguo e iba a probar un código antes de ponerlo en la máquina de producción. Está ejecutando Centos 5 y solía ser producción, pero ahora está relegado a pruebas. Es demasiado viejo para actualizar a Centos 6x sin nuevas agallas, así que estoy atascado con él por ahora.
Entonces ... prácticamente nada funcionó hasta que me topé con esta idea en la web:
Instalar repositorios epel e ius. Eliminar todos los paquetes php Instale todos los paquetes php53u como se refleja en la respuesta anterior.
No usé "yum borrado" en absoluto.
fuente
Lo que normalmente hago en centOS 6.x para actualizar php predeterminado de 5.xa ius php53u es:
fuente