'; echo 'PDO: ' . (class_exists('PDO') ? 'ya' : 'TIDAK ADA') . '
'; echo 'pdo_mysql: ' . (extension_loaded('pdo_mysql') ? 'ya' : 'TIDAK ADA') . '
'; echo 'config.php: ' . (is_file(__DIR__ . '/config.php') ? 'ada' : 'TIDAK ADA di ' . __DIR__) . '

'; try { $cfg = require __DIR__ . '/config.php'; $c = $cfg['db']; foreach (['localhost', '127.0.0.1', $c['host']] as $h) { try { new PDO("mysql:host=$h;port={$c['port']};dbname={$c['name']};charset=utf8mb4", $c['user'], $c['password'], [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); echo "$h : OK
"; } catch (Throwable $e) { echo "$h : " . htmlspecialchars($e->getMessage()) . '
'; } } } catch (Throwable $e) { echo 'FATAL: ' . htmlspecialchars(get_class($e) . ': ' . $e->getMessage() . ' di ' . $e->getFile() . ':' . $e->getLine()); }