";
echo "
🔍 Verificación del Sistema WhatsApp Bot
";
echo "
Fecha: " . date('Y-m-d H:i:s') . "
";
$errors = 0;
$warnings = 0;
$successes = 0;
// 1. Verificar archivos principales
echo "
📁 Verificación de Archivos
";
$requiredFiles = [
'config/config.php' => 'Archivo de configuración principal',
'classes/Database.php' => 'Clase de base de datos',
'login.php' => 'Sistema de login',
'index.php' => 'Dashboard principal',
'api/webhook.php' => 'Webhook de WhatsApp',
'api/send_message.php' => 'API de envío de mensajes'
];
foreach ($requiredFiles as $file => $description) {
if (file_exists($file)) {
echo "
✅ $file - $description
";
$successes++;
} else {
echo "
❌ $file - $description FALTANTE
";
$errors++;
}
}
// 2. Verificar configuración
echo "
⚙️ Verificación de Configuración
";
if (file_exists('config/config.php')) {
try {
require_once 'config/config.php';
echo "
✅ Archivo config.php cargado correctamente
";
$successes++;
// Verificar constantes
$constants = ['DB_HOST', 'DB_NAME', 'DB_USER', 'DB_PASS'];
foreach ($constants as $const) {
if (defined($const)) {
echo "
✅ Constante $const definida
";
$successes++;
} else {
echo "
❌ Constante $const NO definida
";
$errors++;
}
}
} catch (Exception $e) {
echo "
❌ Error cargando configuración: " . $e->getMessage() . "
";
$errors++;
}
} else {
echo "
❌ Archivo config.php no encontrado
";
$errors++;
}
// 3. Verificar base de datos
echo "
🗄️ Verificación de Base de Datos
";
if (defined('DB_HOST') && defined('DB_NAME') && defined('DB_USER') && defined('DB_PASS')) {
try {
$dsn = "mysql:host=" . DB_HOST . ";port=" . (defined('DB_PORT') ? DB_PORT : 3306) . ";dbname=" . DB_NAME . ";charset=utf8mb4";
$pdo = new PDO($dsn, DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "
✅ Conexión a base de datos exitosa
";
$successes++;
// Verificar tablas principales
$tables = ['conversations', 'conversations', 'system_config', 'message_templates'];
foreach ($tables as $table) {
$stmt = $pdo->query("SHOW TABLES LIKE '$table'");
if ($stmt->rowCount() > 0) {
echo "
✅ Tabla '$table' existe
";
$successes++;
} else {
echo "
⚠️ Tabla '$table' no existe (puede necesitar importar schema.sql)
";
$warnings++;
}
}
} catch (PDOException $e) {
echo "
❌ Error de conexión a base de datos: " . $e->getMessage() . "
";
$errors++;
}
} else {
echo "
❌ Configuración de base de datos incompleta
";
$errors++;
}
// 4. Verificar permisos
echo "
🔐 Verificación de Permisos
";
$writableDirs = ['logs/', 'uploads/'];
foreach ($writableDirs as $dir) {
if (is_dir($dir)) {
if (is_writable($dir)) {
echo "
✅ Directorio '$dir' tiene permisos de escritura
";
$successes++;
} else {
echo "
❌ Directorio '$dir' NO tiene permisos de escritura (chmod 777 $dir)
";
$errors++;
}
} else {
echo "
⚠️ Directorio '$dir' no existe
";
$warnings++;
}
}
// 5. Verificar APIs
echo "
🔌 Verificación de APIs
";
$apis = [
'api/send_message.php',
'api/webhook.php',
'api/get_system_config.php',
'api/save_system_config.php',
'api/get_templates.php'
];
foreach ($apis as $api) {
if (file_exists($api)) {
// Verificar que usa la ruta correcta
$content = file_get_contents($api);
if (strpos($content, "require_once 'config/config.php'") !== false) {
echo "
✅ API '$api' - Ruta de configuración correcta
";
$successes++;
} else {
echo "
❌ API '$api' - Ruta de configuración incorrecta
";
$errors++;
}
// Verificar autenticación
if (strpos($content, 'requireAuthentication()') !== false) {
echo "
✅ API '$api' - Requiere autenticación
";
$successes++;
} else {
echo "
⚠️ API '$api' - No requiere autenticación
";
$warnings++;
}
} else {
echo "
❌ API '$api' no encontrada
";
$errors++;
}
}
// 6. Verificar PHP
echo "
🐘 Verificación de PHP
";
$phpVersion = phpversion();
if (version_compare($phpVersion, '7.4', '>=')) {
echo "
✅ Versión PHP: $phpVersion (Compatible)
";
$successes++;
} else {
echo "
❌ Versión PHP: $phpVersion (Requiere 7.4+)
";
$errors++;
}
$requiredExtensions = ['pdo', 'pdo_mysql', 'curl', 'json'];
foreach ($requiredExtensions as $ext) {
if (extension_loaded($ext)) {
echo "
✅ Extensión PHP '$ext' disponible
";
$successes++;
} else {
echo "
❌ Extensión PHP '$ext' NO disponible
";
$errors++;
}
}
// Resumen final
echo "
📊 Resumen de Verificación
";
$total = $successes + $errors + $warnings;
echo "
";
echo "
Estadísticas:
";
echo "✅
Éxitos: $successes
";
echo "❌
Errores: $errors
";
echo "⚠️
Advertencias: $warnings
";
echo "📊
Total verificaciones: $total
";
if ($errors == 0) {
echo "
🎉 ¡SISTEMA LISTO PARA USAR!
";
echo "El sistema está correctamente configurado y funcionando.
";
echo "
Próximos pasos:";
echo "1. Acceder a
login.php";
echo "2. Usuario:
admin";
echo "3. Contraseña:
2fa904eee46f";
echo "4. Configurar tokens de WhatsApp en el dashboard
";
} elseif ($errors <= 2) {
echo "
⚠️ Sistema casi listo
";
echo "Hay algunos errores menores que corregir.
";
} else {
echo "
❌ Requiere atención
";
echo "Hay varios errores que necesitan ser corregidos antes del uso.
";
}
echo "
";
// Información adicional
echo "
📋 Información Adicional
";
echo "
";
echo "Servidor: " . $_SERVER['SERVER_SOFTWARE'] . "
";
echo "PHP: " . PHP_VERSION . "
";
echo "Directorio actual: " . __DIR__ . "
";
echo "URL actual: " . (isset($_SERVER['HTTPS']) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . "
";
echo "
";
echo "