# Despliegue en cPanel con PHP 8.2

## Requisitos

- PHP 8.2 de 64 bits.
- MySQL 5.7+ o MariaDB 10.4+.
- Extensiones: `bcmath`, `ctype`, `curl`, `dom`, `fileinfo`, `gd`, `iconv`,
  `json`, `mbstring`, `mysqli`, `openssl`, `session`, `simplexml`, `xml` y `zlib`.
- Apache 2.4 con `mod_rewrite` y, preferiblemente, `mod_headers`.

## Preparacion

1. Subir todo el contenido del proyecto, incluida la carpeta `vendor`.
2. Seleccionar PHP 8.2 en **MultiPHP Manager** o **Select PHP Version**.
3. Habilitar las extensiones indicadas arriba.
4. Crear la base y el usuario MySQL desde cPanel.
5. Importar `DATABASE/db_ti.sql` desde phpMyAdmin.
6. Copiar `admin/config/config.local.php.example` como
   `admin/config/config.local.php` y colocar las credenciales reales.
7. Confirmar que `Documentos` y los directorios usados para cargas sean
   escribibles por PHP. Normalmente se usa permiso `0755`; no usar `0777` salvo
   que el proveedor lo exija expresamente.
8. Configurar HTTPS y luego habilitar la redireccion HTTPS de `.htaccess`.

No es necesario ejecutar Composer en el hosting mientras se suba `vendor`.
`config.local.php` contiene secretos y esta protegido por `.htaccess` y
excluido de Git.

## Cron

Para ejecutar `cron.php`, crear una tarea en cPanel con una ruta similar a:

```text
/usr/local/bin/php -q /home/USUARIO/public_html/cron.php
```

La ruta exacta de PHP se consulta al proveedor. Probar primero el comando desde
la terminal de cPanel y revisar el registro de errores.

## Verificacion minima

- Inicio de sesion de cliente y administrador/agente.
- Creacion, edicion, reasignacion y cierre de tickets.
- Subida y descarga de archivos.
- Envio SMTP y ejecucion de `cron.php`.
- Exportaciones Excel y generacion de PDF.
- Recuperacion y cambio de contrasena.

Mantener PHP 5.6 disponible solo durante la validacion comparativa. No exponer
la instalacion antigua a Internet.
