¡Bienvenido a PHPost!

Para participar en el foro, descargar complementos y acceder al chat, es necesario tener una cuenta activa. Regístrate con un correo válido para completar la activación.

📦 Foro Archivado — Risus 1.3

Risus 1.3 ha finalizado su ciclo de vida y ya no recibe mantenimiento, soporte técnico ni actualizaciones de seguridad. Esta sección se conserva únicamente como archivo histórico y repositorio de descargas para consulta de la comunidad.

Importante: Esta versión contiene vulnerabilidades de seguridad conocidas que han sido corregidas en Risus Nova. No se recomienda utilizar Risus 1.3 en instalaciones nuevas ni en sitios expuestos a Internet.

Si encuentras un tema, complemento o modificación desarrollada para Risus 1.3 que te interese utilizar, no es necesario instalar una versión obsoleta. Puedes solicitar su adaptación en la sección de pedidos de Risus Nova para que sea compatible con la versión actual.

Gracias a todos los usuarios que formaron parte de la etapa de Risus 1.3. El desarrollo continúa en Risus Nova, donde se concentran todas las mejoras, correcciones y nuevas funcionalidades del proyecto.

⚖️ Aviso Legal y Normas de Contenido

PHPost.es es una comunidad dedicada al soporte, desarrollo y difusión de software libre para la creación y administración de comunidades en línea.

Compromiso con la legalidad: No se permite la publicación, promoción o distribución de software pirateado, contenido warez ni material que infrinja derechos de autor o cualquier otra normativa aplicable.

Responsabilidad: Cada usuario es responsable del contenido alojado en su propio sitio web y del uso que haga del software. Los administradores y desarrolladores de Risus Nova no controlan ni supervisan los servidores o contenidos gestionados por terceros.

⚠️ Aviso de seguridad

Risus Nova se distribuye únicamente a través de phpost.es, que es la fuente oficial del proyecto donde publicamos las versiones verificadas.

Recomendamos no utilizar copias obtenidas desde sitios de terceros, ya que podrían haber sido modificadas y no contar con la integridad del código original, lo que puede suponer riesgos de seguridad en la instalación.

Para garantizar una instalación segura y actualizada, descarga siempre la versión oficial desde el botón disponible en esta página.

Importante: No pediremos donaciones en ningún momento ni en ninguna plataforma (Ko-fi, PayPal, redes sociales u otras). Si encuentras campañas de donación que utilicen el nombre de Risus Nova o PHPost, no tienen ninguna relación con el proyecto.

🔄 Desarrollo activo

Risus Nova forma parte de una nueva etapa del proyecto PHPost, en evolución constante con mejoras, correcciones y nuevas funciones. Puedes seguir el progreso y los cambios oficiales a través del changelog y la comunidad.

Risus Nova 2.1 Estable Desarrollo activo Última actualización: 19/07/2026 Ver Demo Changelog 277 Desarrollo del tema: 75% (fase actual de desarrollo) Descargar
Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

RESUELTO Problemas detectados durante la instalación y solución encontrada
#1

1
Mejor respuesta del mensaje Problemas detectados durante la instalación y solución encontradaProblemas detectados durante la instalación y solución encontrada

Durante la instalación del sistema detecté varios problemas que impedían completar correctamente el proceso, incluso utilizando una base de datos completamente nueva.

Después de analizar el instalador, revisar el código PHP y realizar múltiples pruebas, logré identificar la causa principal de los errores.


=16Problemas encontrados
 
  • La instalación terminaba indicando:
     
    ⚠ La instalación quedó incompleta: se detectaron 18 errores.

  • El sistema creaba el archivo install.lock incluso cuando la instalación había fallado.

  • Al volver a ingresar al instalador aparecía un error 403 porque el propio instalador se bloqueaba.

  • El usuario debía eliminar manualmente el archivo install.lock para volver a intentarlo.

  • El instalador contabilizaba como errores situaciones que realmente eran advertencias normales de MySQL/MariaDB.
 


=16Análisis realizado

Se revisó completamente el proceso de instalación.

El problema no estaba relacionado con:
 
  • PHP
  • Permisos del servidor
  • config.inc.php
  • Conexión a MySQL
  • Versión de MariaDB

Después de revisar el archivo responsable de crear la base de datos se detectó un problema lógico.


=16Causa real del problema

El instalador ejecutaba consultas similares a las siguientes:
 
CREATE TABLE usuarios (...)
ALTER TABLE usuarios ADD COLUMN avatar ...
ALTER TABLE usuarios ADD COLUMN rango ...
ALTER TABLE usuarios ADD COLUMN estado ...

Sin embargo, muchas de esas columnas ya habían sido creadas anteriormente dentro del propio CREATE TABLE.

Posteriormente el instalador volvía a ejecutar:
 
ALTER TABLE ADD COLUMN ...

MariaDB respondía correctamente con mensajes como:
 
Duplicate column name
Duplicate key name
Table already exists
Duplicate entry

Estos mensajes no representan necesariamente un fallo crítico.

Simplemente indican que el elemento ya existe.

El problema era que el instalador contabilizaba cada uno de esos mensajes como un error fatal.

Por eso aparecía finalmente:
 
18 errores encontrados

cuando en realidad gran parte de ellos correspondían a elementos ya existentes.


=16Segundo problema detectado

Al finalizar la instalación el sistema ejecutaba inmediatamente:
 
touch("install.lock");

o su equivalente.

Luego mostraba la pantalla final.

Si existía cualquier advertencia durante el proceso, el instalador ya había quedado bloqueado.

Eso provocaba:
 
  • Error 403
  • Instalación incompleta
  • Imposibilidad de continuar
 


=16Otros problemas encontrados
 
  • No se verificaba correctamente si config.inc.php realmente se había escrito.

  • No existía validación adecuada para mysqli.

  • La conexión podía fallar sin informar el motivo exacto.

  • El puerto MySQL no siempre era considerado.

  • No existía tolerancia para instalaciones parcialmente ejecutadas.

  • No se comprobaba correctamente la escritura del archivo install.lock.

  • La instalación no era completamente repetible.
 


=16Solución aplicada

Se modificó el instalador para que:
 
  • No considere como errores los elementos que ya existen.

  • Detecte previamente tablas.

  • Detecte columnas existentes.

  • Detecte índices existentes.

  • Detecte registros duplicados.

  • Solo cree install.lock cuando toda la instalación finalice correctamente.

  • Permita repetir una instalación fallida sin bloquear el sistema.

  • Mejore el manejo de errores de MySQL y MariaDB.

  • Valide correctamente la escritura de config.inc.php.

  • Sea compatible con versiones actuales de PHP y MariaDB.
 


=16Resultado obtenido

Después de aplicar las correcciones:
 
  • La instalación puede repetirse sin errores.

  • No se generan falsos positivos.

  • El sistema no se bloquea prematuramente.

  • Los errores reales se distinguen claramente de simples advertencias.

  • La experiencia de instalación es considerablemente más estable.
 


=16Recomendaciones para futuras versiones
 
  • Utilizar migraciones versionadas en lugar de múltiples ALTER TABLE.

  • Implementar comprobaciones mediante INFORMATION_SCHEMA antes de modificar tablas.

  • Registrar todos los errores en un archivo install.log.

  • Mostrar al usuario exactamente qué consulta SQL falló.

  • Separar advertencias de errores críticos.

  • Incorporar un modo de reparación ("Repair Installation") para instalaciones incompletas.

  • Permitir actualizar instalaciones existentes sin generar errores por objetos previamente creados.
 


=16Conclusión

El origen del problema no estaba en el servidor, en PHP ni en MariaDB.

La causa principal correspondía a la lógica del instalador, que interpretaba como errores críticos respuestas normales del motor de base de datos al intentar crear nuevamente tablas, columnas e índices ya existentes.

Corrigiendo esa lógica y retrasando la creación del archivo de bloqueo hasta el final del proceso, el instalador se vuelve mucho más robusto, repetible y compatible con diferentes entornos de alojamiento.

xsxTHORxsx 
solo THOR.
Responder Compartir
#2

0
Hola, gracias por reportarlo, ya lo he corregido phpost.es/descargas/CHANGELOG.html
ha sido ayer al crearle el lock al tema nuevo que voy a subir ahora y se lo puse a Risus Nova y me confundí de archivos.
Responder Compartir


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)