Database

Menambah Waktu Login phpMyAdmin

\n

phpMyAdmin adalah salah satu tool paling populer untuk mengelola database MySQL dan MariaDB melalui antarmuka web. Tool ini banyak digunakan oleh web developer, database administrator, dan bahkan pemula yang baru belajar database. Namun, ada satu hal yang sering membuat frustrasi pengguna phpMyAdmin, yaitu session timeout yang terlalu singkat. Bayangkan sedang mengerjakan query yang panjang, tiba-tiba muncul pesan bahwa session sudah habis dan Anda harus login ulang — tentu sangat menjengkelkan.

\n\n

Pada artikel ini, kita akan membahas secara lengkap bagaimana cara menambah waktu login phpMyAdmin agar session tidak cepat habis. Kita akan membahas pengaturan untuk berbagai versi phpMyAdmin, pertimbangan keamanan, dan alternatif yang bisa Anda gunakan.

\n\n

Apa Itu phpMyAdmin?

\n\n

phpMyAdmin adalah aplikasi web berbasis PHP yang dirancang khusus untuk mengelola database MySQL dan MariaDB. Aplikasi ini menyediakan antarmuka grafis yang intuitif, sehingga Anda bisa melakukan operasi database seperti membuat tabel, menjalankan query, mengimpor dan mengekspor data, mengelola user, dan banyak lagi — tanpa perlu mengetik perintah SQL di command line.

\n\n

phpMyAdmin pertama kali dikembangkan oleh Tobias Ratschiller pada tahun 1998 dan sekarang dikelola oleh The phpMyAdmin Project. Aplikasi ini menjadi bagian dari hampir semua paket web server lokal seperti XAMPP, WAMP, MAMP, dan LAMP.

\n\n

Mengapa Session Timeout Terjadi?

\n\n

Secara default, phpMyAdmin memiliki batasan waktu session yang relatif singkat. Hal ini sebenarnya merupakan fitur keamanan — jika pengguna meninggalkan komputer tanpa logout, session yang aktif bisa disalahgunakan oleh orang lain untuk mengakses database.

\n\n

Ada beberapa faktor yang mempengaruhi session timeout:

\n\n
    \n
  • Konfigurasi phpMyAdmin — File config.inc.php memiliki pengaturan LoginCookieValidity.
  • \n
  • Konfigurasi PHP — Parameter session.gc_maxlifetime di php.ini juga mempengaruhi durasi session.
  • \n
  • Konfigurasi Web Server — Beberapa web server memiliki timeout setting sendiri.
  • \n
\n\n

Default timeout di phpMyAdmin biasanya adalah 1440 detik (24 menit). Artinya, jika Anda tidak berinteraksi dengan phpMyAdmin selama 24 menit, session akan berakhir dan Anda harus login kembali.

\n\n

Langkah 1: Mengubah Konfigurasi di config.inc.php

\n\n

Cara paling umum untuk menambah waktu login phpMyAdmin adalah dengan mengedit file konfigurasi config.inc.php. File ini biasanya terletak di:

\n\n
    \n
  • XAMPP: C:xamppphpMyAdminconfig.inc.php
  • \n
  • WAMP: C:wamp64appsphpmyadmin4.x.xconfig.inc.php
  • \n
  • Linux: /etc/phpmyadmin/config.inc.php
  • \n
  • MAMP: /Applications/MAMP/bin/phpMyAdmin/config.inc.php
  • \n
\n\n

Buka file tersebut menggunakan text editor (Notepad++, VS Code, atau Sublime Text), lalu cari atau tambahkan baris berikut:

\n\n
<?php\n/* Konfigurasi phpMyAdmin */\n\n// Server MySQL\n$cfg['Servers'][$i]['host'] = 'localhost';\n$cfg['Servers'][$i]['auth_type'] = 'cookie';\n\n// Menambah waktu session timeout\n$cfg['Servers'][$i]['LoginCookieValidity'] = 3600; // 1 jam (dalam detik)\n\n// Menonaktifkan peringatan session timeout\n$cfg['LoginCookieStore'] = 3600;\n\n?>
\n\n

Penjelasan parameter:

\n\n
    \n
  • LoginCookieValidity — Menentukan durasi validitas cookie login dalam detik. Contoh: 3600 = 1 jam, 7200 = 2 jam, 86400 = 24 jam.
  • \n
  • LoginCookieStore — Menentukan berapa lama cookie disimpan di browser. Nilainya harus sama atau lebih besar dari LoginCookieValidity.
  • \n
\n\n

Langkah 2: Mengubah Konfigurasi PHP (php.ini)

\n\n

Selain mengedit file konfigurasi phpMyAdmin, Anda juga perlu memastikan bahwa konfigurasi PHP mendukung session yang lebih lama. Edit file php.ini dan cari baris berikut:

\n\n
session.gc_maxlifetime = 1440
\n\n

Ubah nilainya menjadi lebih besar, misalnya:

\n\n
session.gc_maxlifetime = 3600
\n\n

Lokasi file php.ini tergantung pada paket yang Anda gunakan:

\n\n
    \n
  • XAMPP: C:xamppphpphp.ini
  • \n
  • WAMP: C:wamp64inphpphp8.x.xphp.ini
  • \n
  • Linux: /etc/php/8.x/apache2/php.ini atau /etc/php/8.x/cli/php.ini
  • \n
\n\n

Setelah mengedit, jangan lupa untuk me-restart web server (Apache atau Nginx) agar perubahan berlaku.

\n\n

Langkah 3: Restart Apache/Service

\n\n

Perubahan pada config.inc.php biasanya langsung berlaku tanpa restart. Namun, perubahan pada php.ini memerlukan restart service:

\n\n
# Untuk XAMPP: Restart Apache melalui XAMPP Control Panel\n\n# Untuk Linux (systemd):\nsudo systemctl restart apache2\n# atau\nsudo systemctl restart nginx\n\n# Untuk Linux (service):\nsudo service apache2 restart
\n\n

Pengaturan untuk Versi phpMyAdmin Berbeda

\n\n

phpMyAdmin 4.x

\n\n

Versi 4.x menggunakan pendekatan yang sama seperti yang dijelaskan di atas. Edit config.inc.php dan tambahkan LoginCookieValidity. Versi ini masih banyak digunakan di server-server lama.

\n\n

phpMyAdmin 5.x

\n\n

Versi 5.x (termasuk 5.2 terbaru) memiliki struktur konfigurasi yang serupa, tetapi beberapa parameter ditambahkan atau dimodifikasi. Pastikan Anda menggunakan sintaks yang benar:

\n\n
<?php\n// phpMyAdmin 5.x\n$cfg['Servers'][$i]['LoginCookieValidity'] = 3600;\n$cfg['Servers'][$i]['LoginCookieStore'] = 3600;\n\n// Tambahan: Mengatur tempat penyimpanan session\n$cfg['SessionSavePath'] = '/tmp/phpmyadmin_sessions';\n?>
\n\n

Jika Anda ingin menggunakan direktori session khusus, pastikan direktori tersebut writable oleh web server.

\n\n

phpMyAdmin 6.x (Beta)

\n\n

Versi 6.x saat ini masih dalam tahap pengembangan. Konfigurasi session timeout kemungkinan besar akan tetap sama, tetapi selalu periksa dokumentasi resmi untuk perubahan terbaru.

\n\n

Pengaturan Timeout via .htaccess

\n\n

Jika Anda tidak memiliki akses ke php.ini, Anda bisa mencoba mengatur session timeout melalui file .htaccess:

\n\n
# Tambahkan di file .htaccess di direktori phpMyAdmin\nphp_value session.gc_maxlifetime 3600\nphp_value session.cookie_lifetime 3600
\n\n

Perlu diingat bahwa cara ini hanya berfungsi jika PHP berjalan sebagai Apache module (mod_php), bukan sebagai PHP-FPM atau CGI.

\n\n

Pertimbangan Keamanan

\n\n

Meningkatkan waktu session timeout memang nyaman, tetapi ada risiko keamanan yang perlu Anda pertimbangkan:

\n\n
    \n
  • Akses Tidak Sah — Semakin lama session aktif, semakin besar risiko orang lain mengakses database Anda jika meninggalkan komputer tanpa logout.
  • \n
  • Shared Computer — Jika Anda menggunakan komputer bersama, sebaiknya tetap gunakan timeout pendek atau selalu logout setelah selesai.
  • \n
  • Production Server — Untuk server production, jangan pernah menyetel timeout terlalu lama. 30-60 menit sudah cukup.
  • \n
  • HTTPS — Selalu gunakan HTTPS saat mengakses phpMyAdmin untuk mengenkripsi cookie session Anda.
  • \n
\n\n

Beberapa tips keamanan tambahan:

\n\n
    \n
  1. Tambahkan $cfg['Servers'][$i]['ssl'] = true; untuk koneksi terenkripsi ke MySQL.
  2. \n
  3. Gunakan $cfg['Servers'][$i]['AllowNoPassword'] = false; untuk mengharuskan password.
  4. \n
  5. Batasi akses phpMyAdmin hanya dari IP tertentu melalui .htaccess atau firewall.
  6. \n
  7. Pertimbangkan untuk menambahkan authentication layer tambahan seperti HTTP Basic Auth atau Two-Factor Authentication.
  8. \n
\n\n

Konfigurasi Lain yang Berguna

\n\n

Selain timeout, berikut beberapa konfigurasi lain yang sering dikustomisasi di phpMyAdmin:

\n\n
<?php\n// Mengatur ukuran maksimal upload file (untuk import)\n$cfg['UploadDir'] = '';\n$cfg['MaxRows'] = 50;\n$cfg['ShowDatabasesNavigationAsTree'] = true;\n\n// Mengatur bahasa default\n$cfg['DefaultLang'] = 'id';  // Bahasa Indonesia\n\n// Mengatur tema\n$cfg['ThemeDefault'] = 'pmahomme';\n\n// Menonaktifkan fitur tertentu untuk keamanan\n$cfg['ShowPhpInfo'] = false;\n$cfg['ShowChgPassword'] = true;\n?>
\n\n

Alternatif phpMyAdmin

\n\n

Jika Anda mencari alternatif phpMyAdmin yang mungkin memiliki fitur session management lebih baik, berikut beberapa pilihan:

\n\n

1. Adminer

\n\n

Adminer adalah tool database management berbasis PHP yang sangat ringan — hanya satu file. Mendukung MySQL, PostgreSQL, SQLite, dan MS SQL. Session timeout bisa diatur melalui PHP configuration.

\n\n

2. MySQL Workbench

\n\n

Tool desktop resmi dari Oracle untuk mengelola MySQL. Tidak memiliki masalah session timeout karena berupa aplikasi desktop. Mendukung visual database design, query editor, dan server administration.

\n\n

3. DBeaver

\n\n

Database management tool universal yang mendukung hampir semua jenis database. Tersedia dalam versi Community (gratis) dan Enterprise (berbayar). Berbasis Java dan berjalan di semua platform.

\n\n

4. HeidiSQL

\n\n

Tool database management gratis untuk Windows yang sangat ringan dan cepat. Mendukung MySQL, MariaDB, PostgreSQL, dan MS SQL Server.

\n\n

5. TablePlus

\n\n

Tool modern dengan antarmuka yang sangat intuitif. Tersedia untuk macOS, Windows, dan Linux. Versi gratisnya memiliki batasan jumlah koneksi.

\n\n

Troubleshooting Masalah Session

\n\n

Session tetap habis meskipun sudah diubah

\n\n
    \n
  • Pastikan Anda me-restart Apache/Nginx setelah mengubah php.ini.
  • \n
  • Cek apakah ada konfigurasi session timeout di level hosting (cPanel, Plesk, dll).
  • \n
  • Periksa apakah Anda mengedit file php.ini yang benar — kadang ada beberapa file php.ini di sistem.
  • \n
\n\n

Error "session has expired" muncul terlalu cepat

\n\n
    \n
  • Buka halaman phpMyAdmin, masuk ke menu "Settings" atau "Preferences".
  • \n
  • Cek apakah ada pengaturan session yang menimpa konfigurasi global.
  • \n
  • Periksa log error PHP untuk mengetahui penyebab pastinya.
  • \n
\n\n

Session tidak tersimpan

\n\n
    \n
  • Pastikan direktori session (biasanya /tmp) memiliki permission yang benar.
  • \n
  • Cek session.save_path di php.ini.
  • \n
  • Periksa apakah ada cukup ruang disk di server.
  • \n
\n\n

Kesimpulan

\n\n

Mengatur waktu login phpMyAdmin sebenarnya cukup mudah — Anda hanya perlu mengubah nilai LoginCookieValidity di file config.inc.php dan session.gc_maxlifetime di file php.ini. Namun, ingatlah bahwa semakin lama session timeout, semakin besar pula risiko keamanan. Sesuaikan durasi timeout dengan kebutuhan dan lingkungan kerja Anda. Jika bekerja di komputer pribadi di jaringan aman, timeout 1-2 jam mungkin wajar. Namun untuk server production atau komputer bersama, tetap gunakan timeout yang relatif singkat dan biasakan untuk selalu logout setelah selesai bekerja.



4 Comments

casino en ligne francais07 May 2026

Ce que vous présentez concernant les retraits correspond exactement à mon expérience. Cela dit, certains casinos modernes simplifient enfin le processus, c'est un vrai changement.

Reply

casino en ligne francais07 May 2026

Ce que vous présentez concernant les retraits correspond exactement à mon expérience. Cela dit, certains casinos modernes simplifient enfin le processus, c'est un vrai changement.

Reply

casino en ligne francais07 May 2026

Ce que vous présentez concernant les retraits correspond exactement à mon expérience. Cela dit, certains casinos modernes simplifient enfin le processus, c'est un vrai changement.

Reply

casino en ligne francais07 May 2026

Ce que vous présentez concernant les retraits correspond exactement à mon expérience. Cela dit, certains casinos modernes simplifient enfin le processus, c'est un vrai changement.

Reply

Leave a Reply

Scroll to Top