Saltar al contenido principal

Errores comunes al instalar

Instalar el framework por primera vez es donde suelen aparecer problemas. Aquí los más comunes.

"No puedo conectar a la base de datos"​

En api/config.php verifica:

  • Nombre de la base de datos: coincide con la que creaste en phpMyAdmin.
  • Usuario y contraseña de MySQL: en XAMPP suele ser root sin contraseña.
  • Host: localhost para instalaciones locales; en producción puede ser una IP o subdominio distinto.

Prueba conectar manualmente:

mysql -u tu_usuario -p tu_base_de_datos

Si eso falla, el problema es de MySQL, no del framework.

Guardo algo y no queda guardado (o los permisos no se aplican)​

Hay dos archivos que dicen a qué base de datos se conecta el sistema: api/config.php y cms/config.php. Si nombran bases distintas, nada falla a la vista: el contenido se escribe en una y los roles, los permisos y el registro de actividad en la otra. Se nota meses después, cuando un permiso guardado no está.

Suele pasar al copiar la instalación a otra carpeta o a otro servidor y cambiar sólo uno de los dos.

php tools/doctor.php

Lo dice en la sección CONFIG: si las dos coinciden sale en verde; si no, sale un error con las dos bases nombradas. Deja host, name y user idénticos en ambos archivos.

En la misma sección se revisa api.base_url de cms/config.php: tiene que apuntar a esta instalación. Si quedó apuntando a la carpeta de origen, cada inicio de sesión se valida contra la base de la otra instalación.

"Composer no encontrado"​

Composer es necesario para instalar dependencias PHP.

Instalación:

  • Mac/Linux: curl -sS https://getcomposer.org/installer | php y mover el binario a /usr/local/bin/composer.
  • Windows: descarga el instalador desde getcomposer.org.

Verifica: composer --version.

"Cannot open file .htaccess" o error 404 al entrar al CMS​

Apache necesita mod_rewrite habilitado.

En Ubuntu/Debian:

sudo a2enmod rewrite
sudo systemctl restart apache2

En XAMPP: edita httpd.conf, descomenta la línea LoadModule rewrite_module modules/mod_rewrite.so y reinicia.

"Permission denied" al escribir archivos​

El servidor web no tiene permisos para escribir en las carpetas donde el framework guarda archivos subidos, páginas generadas o logs.

Solución simple: ejecuta sudo ./setup.sh — ajusta todo.

Manual:

chmod -R 775 cms/views/assets/files/
chmod -R 775 web/pages/
chmod -R 775 logs/
chmod -R 775 api/tmp/
chmod -R 775 packages/

# En Linux con Apache como www-data:
chown -R www-data:www-data cms/views/assets/files/ web/pages/ logs/ api/tmp/ packages/

"The URL you requested was not found" en /cms/​

  • Verifica que apache/nginx sirva desde la carpeta correcta. La raíz debe ser la carpeta del framework, no una carpeta superior.
  • Verifica que exista el archivo cms/index.php.
  • Que Apache tenga AllowOverride All para que los .htaccess funcionen.

Instalador visual pide datos pero no avanza​

  • Verifica que la conexión a la base de datos esté OK (paso 4).
  • Revisa el archivo logs/ — puede haber un error PHP que el instalador silenció.
  • Verifica que la base de datos esté vacía al iniciar el instalador (o al menos que no tenga tablas conflictivas).

"Table already exists" durante la instalación​

Estás intentando instalar en una base de datos que ya tiene tablas del framework (quizás de un intento anterior fallido). Opciones:

  • Vaciar la BD desde phpMyAdmin (drop de todas las tablas) y reinstalar.
  • Usar una BD nueva.

PHP versión incorrecta​

El framework requiere PHP 7.4 o superior. Verifica: php -v.

Si tienes múltiples versiones instaladas, asegúrate de que Apache use la correcta (a veces php --version muestra 8.x pero Apache usa 5.6).

Extensiones PHP faltantes​

Necesarias:

  • pdo y pdo_mysql (conexión a la base de datos).
  • json (viene por defecto en PHP 8+).
  • curl (llamadas HTTP).
  • openssl (JWT, encriptación).
  • mbstring (manejo de strings multibyte).
  • gd o imagick (procesamiento de imágenes).

Verifica: php -m.

Si falta alguna, instálala:

  • Ubuntu: sudo apt install php-mysql php-curl php-mbstring php-gd
  • CentOS: sudo yum install php-mysqlnd php-curl php-mbstring php-gd

setup.sh falla con "Permission denied"​

Ejecútalo con sudo:

sudo ./setup.sh

Si el archivo no es ejecutable:

chmod +x setup.sh
sudo ./setup.sh

Después de instalar, veo "Trying to access array offset on value of type null"​

Suele ser un config.php incompleto o mal formateado. Copia de nuevo desde config.example.php y rellena los valores requeridos.

¿Qué sigue?​