waktu logout otomatis phpmyadmin

89

Bagaimana cara mengubah waktu keluar otomatis phpmyadmin?

Ini akan keluar secara otomatis setelah 1440 detik yang sangat rendah bagi saya. Bagaimana cara mengubah opsi atau menghapus permintaan masuk sepenuhnya?

Abadis
sumber

Jawaban:

87

Buat atau edit php.inifile Anda dan tetapkan nilai variabel ini di dalamnya:

session.gc_maxlifetime = 1440

Bilangan bulat dalam hitungan detik. 500000 detik adalah 5,7 hari. Kemudian restart apache.

Ravinder Singh
sumber
2
jadi buka file php.ini Anda dan tingkatkan nilai session.gc_maxlifetime, itu saja.
Ravinder Singh
11
jawaban buruk, masalah keamanan!
Sebastian Viereck
1
Anda mungkin juga perlu memperbarui $ cfg ['LoginCookieValidity'] di file config.inc.php phpmyadmin.
Jorge Orpinel
5
@ slaver113 Dalam hal ini saya akan mengatakan keamanannya baik-baik saja karena ini adalah lingkungan pengembangan, ini TIDAK baik untuk lingkungan produksi apa pun. Saya lebih suka melihat ini disebutkan dalam jawaban.
Manuel
8
Ini tidak ada hubungannya dengan batas waktu PHPMyAdmin. Saya tidak tahu mengapa itu sangat dipilih. Itu bahkan tidak terkait dengan pertanyaan itu.
felwithe
113

Mengubah php.ini akan mengubah durasi sesi untuk semua situs web yang berjalan di server. Untuk mengubahnya hanya untuk PhpMyAdmin, buka config.inc.phpdan tambahkan:

$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;
laurent
sumber
21
tampaknya ada UI untuk mengatur variabel config.php di localhost / phpmyadmin / setup /… - lihat Login Cookie Validitas
psiko brm
Pengaturan UI ini agak membingungkan tetapi berfungsi untuk mengatur kata sandi di konfigurasi untuk login otomatis dan mengatur waktu kedaluwarsa sesi. Suara positif.
Antonio Max
1
Waktu yang tidak terbatas adalah jenis yang tidak mungkin karena setiap cookie memiliki -Tanggal "Berlaku Sampai", tetapi Anda cukup memasukkan angka yang sangat tinggi.
Marcel Burkhard
5
Ini harus menjadi jawabannya. Pertanyaannya menanyakan bagaimana cara memodifikasi phpMyAdmin. Jawaban ini memecahkannya secara spesifik.
1
Anda juga perlu mengubah jalur cookie. Karena jika gc_maxlifetime ditentukan untuk situs web lain, gc akan menghapus semua cookie saat pertama kali dipanggil untuk situs web. Anda dapat menambahkan 2 baris ini di file /etc/apache2/conf-available/phpmyadmin.conf: php_admin_value session.gc_maxlifetime 604800 + php_admin_value session.save_path / var / lib / phpmyadmin / tmp
fred727
96

Di PHPMyAdmin 4 ini tidak lagi muncul di file config.inc.php. Alih-alih, buka PHPMyAdmin di browser Anda. Pastikan Anda berada di tingkat localhost untuk melihat tautan Pengaturan. Kemudian atur Pengaturan> Fitur> Ubah nilai 'Validitas cookie login'> Simpan

instruksi

Kohjah Breese
sumber
NB Tampaknya ada batasan jumlah karakter yang dapat Anda masukkan ke bidang ini.
Kohjah Breese
1
Perubahan UI tidak berfungsi untuk saya. Itu masih keluar terlalu cepat, tidak peduli seberapa besar validitas cookie Login .
dani24
4
@ dani24, Anda mendapatkan pemberitahuan ini: Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.? Klik tautan di sini, dan itu akan memberi Anda instruksi untuk mengaktifkan kemampuan untuk menyimpan perubahan secara permanen.
Parapluie
phpMyAdmin akan menampilkan kesalahan ini. Your PHP parameter session.gc_maxlifetime is lower than cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.Anda harus menerapkan jawaban Ravinder Singh juga yang ini.
Abraham Murciano Benzadon
7
Tidak tersedia dalam versi 4.8.4
Thanasis
11

Anda dapat mengubah fitur sesi waktu cookie di antarmuka web phpmyadmin

Settings->Features->General->Login cookie validity

ATAU

Jika Anda ingin mengubah 'login cookie validity' di file konfigurasi, buka file konfigurasi phpmMyAdmin, config.inc.php di direktori root PHPMyAdmin. (Direktori root biasanya / etc / phpmyadmin /)

Setelah menemukan config.inc.php, cari baris di bawah ini dan setel ke nilai detik yang Anda inginkan untuk waktu tunggu phpmyadmin:

['LoginCookieValidity'] 

Jika Anda tidak dapat menemukan baris di atas, cukup tambahkan yang berikut ini:

$cfg['Servers'][$i]['LoginCookieValidity'] = <your_new_timeout>;

Sebagai contoh:

$cfg['Servers'][$i]['LoginCookieValidity'] = 3600 * 3;

Batas Waktu disetel ke 3 Jam dari Contoh di atas.

session.gc_maxlifetimemungkin membatasi validitas sesi dan jika sesi hilang, cookie login juga tidak valid. Jadi, kita mungkin perlu mengatur session.gc_maxlifetime di php.inifile konfigurasi (lokasi file adalah / etc / php5 /apache2/php.ini di ubuntu).

session.gc_maxlifetime = 3600 * 3


Dokumentasi phpMyAdmin tentang LoginCookieValidity

$ cfg ['LoginCookieValidity']

Jenis: integer [jumlah detik]
Nilai default: 1440

Tentukan berapa lama cookie login valid. Harap dicatat bahwa opsi konfigurasi php session.gc_maxlifetime mungkin membatasi validitas sesi dan jika sesi hilang, cookie login juga tidak valid. Jadi adalah ide yang bagus untuk menyetel session.gc_maxlifetime setidaknya ke nilai yang sama dari $ cfg ['LoginCookieValidity'].

CATATAN:

  1. Jika server Anda mogok dan tidak dapat memuat halaman phpmyadmin Anda, periksa log apache Anda di /var/log/apache2/error.log. Jika Anda mendapatkan PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.phpjalur 135, lakukan a chmod 644 config.inc.php. yang seharusnya mengatasi kesalahan tersebut.
  2. Jika Anda mendapatkan peringatan:, Your PHP parameter session.gc_maxlifetime is lower that cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.kemudian ubah session.gc_maxlifetime seperti yang disebutkan di atas.
Selamanya
sumber
5

Untuk penginstalan LOKAL saja, Anda dapat menghapus login dan waktu tunggu sama sekali - ini sepertinya yang Anda cari. Dengan mengubah jenis otorisasi menjadi "config" dan memasukkan nama pengguna dan kata sandi database Anda di file konfigurasi, Anda secara otomatis masuk. Tambahkan ke config.inc.php:

$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['AllowNoPassword'] = false;

Tentu saja jika Anda melakukan ini di server di internet, beberapa orang nakal akan datang dan dengan senang hati mengunduh semua kata sandi Anda dan menghapus situs web Anda. Ini untuk server pengembangan yang berjalan di laptop Anda sendiri saja.

Cara yang lebih mudah untuk menyesuaikan phpmyadmin hari ini adalah dengan membuka http://www.example.com/phpmyadmin/setup/ , menyimpan semua bagian pengaturan Anda sekaligus, klik simpan atau unduh di bagian bawah, salin file yang dibuat ke root direktori phpmyadmin, lalu lakukan chmod. Anda harus mematikan izin menulis meskipun itu adalah server lokal karena phpmyadmin memeriksanya sebelum mengizinkan Anda masuk.

Chris
sumber
Nama file salah, bukan masalah besar karena sebagian besar akan mengerti maksud Anda. Namun demikian, nama yang benar adalahconfig.inc.php
David
3

Jelajahi direktori 'apps \ phpmyadmin4.5.2' di folder wamp Anda dan buka file config.inc.php. Kemudian tambahkan baris ini di bawah kode yang ada.

'$cfg['LoginCookieValidity'] = 3600 * 10; //login cookie validity extended upto 10 hours'.

Itu saja...

Koushik Chowdhury
sumber
1

Untuk phpMyadmin 5.0.2 yang berjalan di Ubuntu 18.04, saya mengedit file sebagai berikut:

  1. sudo nano /usr/share/phpmyadmin/libraries/classes/Config/Forms/User/FeaturesForm.php

  2. temukan metode public static function getForms()dan tambahkan bidang LoginCookieValidity

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
    
  3. simpan file dan sekarang Anda akan dapat mengubah nilai dari antarmuka pengguna.

[Pengaturan -> Umum -> Fitur -> Validasi Cookie Masuk]

sandip
sumber
Terima kasih untuk ini. Saya melihat jawaban di atas, dan kembali ke instalasi 5.0.2 saya, dan berpikir saya kehilangan akal! Bertanya-tanya mengapa mereka menghapus UI, terutama jika masih ada yang siap untuk diaktifkan kembali?
Headbank
0

Server:localhost -> Settings -> Features -> General -> Login cookie validity

Pmpr
sumber
Jawaban yang sama sudah diposting lama (dan dengan penjelasan + informasi tentang batas waktu sesi php yang kekurangan jawaban Anda).
Marki555
Meskipun saya tidak menyebutkannya, saya selalu lebih suka jawaban super sederhana untuk beberapa jenis pertanyaan.
Pmpr
1
Ya, tetapi jika Anda mengatur validitas cookie login ke nilai yang lebih tinggi dari validitas sesi di php, itu tidak akan berhasil.
Marki555
Saya tidak tahu itu. terima kasih atas komentar informatif Anda :)
Pmpr
-1

Saya memiliki phpmyadmin 4.9.2. dan coba konfig LoginCookieValidity, tetapi saya memiliki logout otomatis :( Jika Anda menggunakan localhost, Anda dapat mencoba https://docs.phpmyadmin.net/en/latest/config.html#example-for-ip-address-limited-autologin

if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
}
Denis Viunyk
sumber