Ir al contenido

Actualizar de XOOPS 2.5 a 2.7

  • PHP 8.2+ requerido — PHP 7.x ya no es compatible
  • Dependencias administradas con Composer — Librerías principales administradas mediante composer.json
  • Carga automática PSR-4 — Las clases del módulo pueden usar espacios de nombres
  • XoopsObject mejorado — Nueva seguridad de tipo en getVar(), obj2Array() deprecado
  • Administración Bootstrap 5 — Panel de administración reconstruido con Bootstrap 5

Lista de verificación previa a la actualización

Sección titulada «Lista de verificación previa a la actualización»
  • PHP 8.2+ disponible en su servidor
  • Copia de seguridad completa de la base de datos (mysqldump -u user -p xoops_db > backup.sql)
  • Copia de seguridad completa de su instalación
  • Lista de módulos instalados y sus versiones
  • Tema personalizado respaldado por separado
// mainfile.php — agregue temporalmente
define('XOOPS_MAINTENANCE', true);
Ventana de terminal
wget https://github.com/XOOPS/XoopsCore27/releases/latest/download/xoops-2.7.x.zip
unzip xoops-2.7.x.zip

Cargue los nuevos archivos, excluyendo:

  • uploads/ — sus archivos cargados
  • xoops_data/ — su configuración
  • modules/ — sus módulos instalados
  • themes/ — sus temas
  • mainfile.php — su configuración del sitio
Ventana de terminal
rsync -av --exclude='uploads/' --exclude='xoops_data/' \
--exclude='modules/' --exclude='themes/' --exclude='mainfile.php' \
xoops-2.7/ /var/www/html/

Navegue a https://yourdomain.com/upgrade/ en su navegador. El asistente de actualización aplicará las migraciones de la base de datos.

Los módulos de XOOPS 2.7 deben ser compatibles con PHP 8.2. Verifique el Ecosistema de Módulos para versiones actualizadas.

En Admin → Módulos, haga clic en Actualizar para cada módulo instalado.

6. Elimine el modo de mantenimiento y pruebe

Sección titulada «6. Elimine el modo de mantenimiento y pruebe»

Elimine la línea XOOPS_MAINTENANCE de mainfile.php y verifique que todas las páginas se carguen correctamente.

Errores “Clase no encontrada” después de la actualización

  • Ejecute composer dump-autoload en la raíz de XOOPS
  • Borre el directorio xoops_data/caches/

Módulo roto después de la actualización

  • Verifique los lanzamientos de GitHub del módulo para una versión compatible con 2.7
  • El módulo puede necesitar cambios de código para PHP 8.2 (funciones deprecadas, propiedades tipadas)

CSS del panel de administración roto

  • Borre el caché de su navegador
  • Asegúrese de que xoops_lib/ se reemplazó completamente durante la carga de archivos