first commit
This commit is contained in:
74
backend/Admin/auth/debug_login.php
Normal file
74
backend/Admin/auth/debug_login.php
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
/**
|
||||
* Admin/auth/debug_login.php
|
||||
* ملف تشخيصي مؤقت — يُحذف بعد التحقق
|
||||
*/
|
||||
header('Content-Type: application/json; charset=UTF-8');
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', '1');
|
||||
|
||||
$checks = [];
|
||||
|
||||
// 1. التحقق من ملف bootstrap
|
||||
$bootstrapPath = __DIR__ . '/../../core/bootstrap.php';
|
||||
$checks['bootstrap_exists'] = file_exists($bootstrapPath);
|
||||
|
||||
// 2. محاولة تحميل bootstrap مع التقاط الأخطاء
|
||||
try {
|
||||
ob_start();
|
||||
require_once $bootstrapPath;
|
||||
$bootstrapOutput = ob_get_clean();
|
||||
$checks['bootstrap_loaded'] = true;
|
||||
$checks['bootstrap_output'] = $bootstrapOutput ?: '(clean)';
|
||||
} catch (Throwable $e) {
|
||||
ob_end_clean();
|
||||
$checks['bootstrap_loaded'] = false;
|
||||
$checks['bootstrap_error'] = $e->getMessage() . ' in ' . $e->getFile() . ':' . $e->getLine();
|
||||
}
|
||||
|
||||
// 3. التحقق من الدوال المطلوبة
|
||||
$checks['filterRequest_exists'] = function_exists('filterRequest');
|
||||
$checks['jsonError_exists'] = function_exists('jsonError');
|
||||
$checks['sendWhatsAppFromServer_exists'] = function_exists('sendWhatsAppFromServer');
|
||||
|
||||
// 4. التحقق من قاعدة البيانات
|
||||
try {
|
||||
$con = Database::get('main');
|
||||
$checks['db_connected'] = true;
|
||||
|
||||
// التحقق من بنية الجدول
|
||||
$stmt = $con->query("DESCRIBE adminUser");
|
||||
$columns = $stmt->fetchAll(PDO::FETCH_COLUMN);
|
||||
$checks['adminUser_columns'] = $columns;
|
||||
|
||||
// هل يوجد جدول token_verification_admin؟
|
||||
$stmt2 = $con->query("SHOW TABLES LIKE 'token_verification_admin'");
|
||||
$checks['token_verification_admin_exists'] = $stmt2->rowCount() > 0;
|
||||
|
||||
if (!$checks['token_verification_admin_exists']) {
|
||||
$checks['CRITICAL'] = 'Table token_verification_admin does NOT exist! This is why login fails.';
|
||||
}
|
||||
} catch (Throwable $e) {
|
||||
$checks['db_connected'] = false;
|
||||
$checks['db_error'] = $e->getMessage();
|
||||
}
|
||||
|
||||
// 5. التحقق من PHP error log الأخير
|
||||
$logPath = '/home/intaleq-api/logs/php_errors.log';
|
||||
if (file_exists($logPath)) {
|
||||
$lines = file($logPath);
|
||||
$checks['last_5_errors'] = array_map('trim', array_slice($lines, -5));
|
||||
} else {
|
||||
$logPath2 = __DIR__ . '/../../logs/php_errors.log';
|
||||
if (file_exists($logPath2)) {
|
||||
$lines = file($logPath2);
|
||||
$checks['last_5_errors'] = array_map('trim', array_slice($lines, -5));
|
||||
} else {
|
||||
$checks['error_log'] = 'Log file not found';
|
||||
}
|
||||
}
|
||||
|
||||
// 6. نسخة PHP
|
||||
$checks['php_version'] = PHP_VERSION;
|
||||
|
||||
echo json_encode($checks, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
|
||||
Reference in New Issue
Block a user