fix: ganti koneksi PDO ke MySQLi dan perbaiki DB_HOST Coolify

This commit is contained in:
2026-06-11 09:42:00 +07:00
parent fbd0e00a86
commit ad1806aa17
+18 -16
View File
@@ -5,7 +5,6 @@ $port = getenv('DB_PORT') ?: 3306;
$db = getenv('DB_NAME') ?: 'default';
$user = getenv('DB_USER') ?: 'mysql';
$pass = getenv('DB_PASS') ?: 'tg9lvPlr4hgUhgtT7aPq9XelkCEvvMGtsoV8eB4dD5FAkz891PwkJT340xmaEWxL';
$charset = 'utf8mb4';
// Direktori upload foto laporan
define('UPLOAD_DIR', __DIR__ . '/uploads/');
@@ -15,30 +14,22 @@ if (session_status() === PHP_SESSION_NONE) {
session_start();
}
// Koneksi PDO
try {
$pdo = new PDO(
"mysql:host={$host};port={$port};dbname={$db};charset={$charset}",
$user,
$pass,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT => false,
]
);
} catch (PDOException $e) {
// Koneksi MySQLi
$conn = new mysqli($host, $user, $pass, $db, (int)$port);
if ($conn->connect_error) {
http_response_code(500);
header('Content-Type: application/json; charset=utf-8');
echo json_encode([
'success' => false,
'data' => null,
'message' => 'Koneksi database gagal: ' . $e->getMessage()
'message' => 'Koneksi database gagal: ' . $conn->connect_error
]);
exit;
}
$conn->set_charset('utf8mb4');
/**
* Sanitasi input string.
*/
@@ -46,3 +37,14 @@ function clean(string $value): string
{
return htmlspecialchars(strip_tags(trim($value)));
}
/**
* Kirim respon JSON lalu hentikan eksekusi.
*/
function jsonResponse(array $data, int $httpCode = 200): void
{
http_response_code($httpCode);
header('Content-Type: application/json; charset=utf-8');
echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
exit;
}