$arrConDatabaseMain, 'Prod' => $arrConDatabaseProd, 'PreProd' => $arrConDatabasePreProd, ); foreach ($connections as $label => $cfg) { echo $label . ' → host=' . $cfg['host'] . ' db=' . $cfg['db'] . ' user=' . $cfg['user'] . ' ... '; $link = @mysqli_connect($cfg['host'], $cfg['user'], $cfg['pass'], $cfg['db'], 3306); if ($link) { echo "OK\n"; mysqli_close($link); } else { echo "ECHEC\n"; echo ' mysqli_error: ' . mysqli_connect_error() . "\n"; } } echo "\n--- Etapes (meme ordre que compte.php) ---\n"; function diag_step($label, $callback) { echo $label . ' ... '; flush(); try { $callback(); echo "OK\n"; return true; } catch (Throwable $e) { echo "ERREUR (exception)\n"; echo ' ' . get_class($e) . ': ' . $e->getMessage() . "\n"; echo ' fichier: ' . $e->getFile() . ':' . $e->getLine() . "\n"; return false; } } $ok = true; $ok = $ok && diag_step('1 inc_start_time', function () { require_once __DIR__ . '/php/inc_start_time.php'; }); $ok = $ok && diag_step('2 inc_fonctions', function () { require_once __DIR__ . '/php/inc_fonctions.php'; }); $ok = $ok && diag_step('3 inc_fx_messages', function () { require_once __DIR__ . '/php/inc_fx_messages.php'; }); $ok = $ok && diag_step('4 inc_fx_compte', function () { require_once __DIR__ . '/php/inc_fx_compte.php'; }); $ok = $ok && diag_step('5 inc_manager', function () { require_once __DIR__ . '/superadm/php/inc_manager.php'; }); if ($ok) { echo "\nToutes les etapes OK.\n"; } else { echo "\nArret au premier echec ci-dessus.\n"; } echo "\n=== Fin diagnostic — supprimer diag.php ===\n";