PDO::ERRMODE_EXCEPTION ]); $success[] = "✅ Conectado a '{$dbName}'"; // Crear tabla users primero $sql = "CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, phone_number VARCHAR(20) UNIQUE NOT NULL, name VARCHAR(100), status ENUM('active', 'inactive') DEFAULT 'active', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"; $pdo->exec($sql); // Verificar que se creó try { $result = $pdo->query("SELECT COUNT(*) FROM users"); $success[] = "✅ Tabla 'users' creada y funcional"; } catch (Exception $e) { $errors[] = "❌ Tabla users no funciona: " . $e->getMessage(); } // Crear tabla system_config $sql = "CREATE TABLE IF NOT EXISTS system_config ( id INT AUTO_INCREMENT PRIMARY KEY, config_key VARCHAR(100) UNIQUE NOT NULL, config_value TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"; $pdo->exec($sql); // Verificar try { $result = $pdo->query("SELECT COUNT(*) FROM system_config"); $success[] = "✅ Tabla 'system_config' creada y funcional"; } catch (Exception $e) { $errors[] = "❌ Tabla system_config no funciona: " . $e->getMessage(); } // Solo insertar datos si no hay errores if (empty($errors)) { // Insertar configuración básica $configSql = "INSERT IGNORE INTO system_config (config_key, config_value) VALUES ('app_installed', '1'), ('install_date', NOW()), ('business_name', 'Mi Empresa'), ('admin_user', 'admin')"; try { $pdo->exec($configSql); $success[] = "✅ Configuración inicial insertada"; } catch (Exception $e) { $errors[] = "⚠️ Error insertando config: " . $e->getMessage(); } // Actualizar config.php if (file_exists('config/config.php')) { $config = file_get_contents('config/config.php'); $config = preg_replace("/define\('DB_HOST',\s*'[^']*'\);/", "define('DB_HOST', '$dbHost');", $config); $config = preg_replace("/define\('DB_PORT',\s*'[^']*'\);/", "define('DB_PORT', '$dbPort');", $config); $config = preg_replace("/define\('DB_NAME',\s*'[^']*'\);/", "define('DB_NAME', '$dbName');", $config); $config = preg_replace("/define\('DB_USER',\s*'[^']*'\);/", "define('DB_USER', '$dbUser');", $config); $config = preg_replace("/define\('DB_PASS',\s*'[^']*'\);/", "define('DB_PASS', '$dbPass');", $config); $config = preg_replace("/define\('ADMIN_PASSWORD',\s*'[^']*'\);/", "define('ADMIN_PASSWORD', '" . password_hash($adminPassword, PASSWORD_DEFAULT) . "');", $config); file_put_contents('config/config.php', $config); $success[] = "✅ config.php actualizado"; } // Verificar que todo funciona try { $userCount = $pdo->query("SELECT COUNT(*) FROM users")->fetchColumn(); $configCount = $pdo->query("SELECT COUNT(*) FROM system_config")->fetchColumn(); $success[] = "✅ Verificación final: {$userCount} usuarios, {$configCount} configs"; // Marcar como instalado file_put_contents('.installation_completed', date('Y-m-d H:i:s')); file_put_contents('CREDENCIALES_BASICO.txt', "USUARIO: admin\nCONTRASEÑA: {$adminPassword}\nFECHA: " . date('Y-m-d H:i:s')); $success[] = "🎉 Instalación básica completada"; $step = 'completed'; } catch (Exception $e) { $errors[] = "❌ Error en verificación final: " . $e->getMessage(); } } } catch (PDOException $e) { $errors[] = "❌ Error de conexión: " . $e->getMessage(); } } } ?> ⚡ Instalador Ultra Básico

⚡ Instalador Ultra Básico

Solo crea las tablas esenciales paso a paso

Este instalador:
  • ✅ Crea solo 2 tablas esenciales: users y system_config
  • ✅ Verifica cada paso antes de continuar
  • ✅ Proceso ultra simplificado
  • ✅ Ideal para resolver problemas de creación de tablas
Contraseña de admin que se generará:

⚙️ Instalando paso a paso...

❌ Errores:

Reintentar
✅ Progreso:
💡 Sugerencias para resolver errores:
  • Verifica que la base de datos existe
  • Confirma que el usuario tiene permisos ALL en la BD
  • Prueba conectarte manualmente con phpMyAdmin
  • Si persiste, contacta soporte con estos mensajes

🎉 ¡Instalación Básica Exitosa!

Sistema mínimo funcional instalado

🔑 Credenciales
Usuario: admin
Contraseña:
Guardadas en: CREDENCIALES_BASICO.txt
📋 Lo que se instaló:
  • ✅ Tabla users - Para gestión de usuarios
  • ✅ Tabla system_config - Para configuración
  • ✅ Configuración básica del sistema
  • ✅ Credenciales de administrador

Nota: Puedes agregar más funcionalidades desde el panel de administración.