phpmyadmin tempo di logout automatico


88

Come posso modificare l'ora di disconnessione automatica da phpmyadmin?

Si disconnetterà automaticamente dopo 1440 secondi, il che è molto basso per me. Come posso modificare l'opzione o rimuovere completamente la richiesta di accesso?

Risposte:


86

Crea o modifica il tuo php.inifile e imposta questo valore variabile in esso:

session.gc_maxlifetime = 1440

Il numero intero è in secondi. 500000 secondi corrispondono a 5,7 giorni. Quindi riavvia Apache.


2
quindi apri il tuo file php.ini e aumenta il valore di session.gc_maxlifetime, il gioco è fatto.
— Ravinder Singh,

10
cattiva risposta, problemi di sicurezza!
— Sebastian Viereck

1
Potrebbe anche essere necessario aggiornare $ cfg ['LoginCookieValidity'] nel file phpmyadmin config.inc.php.
— Jorge Orpinel

5
@ slaver113 In questo caso direi che la sicurezza va bene in quanto è un ambiente di sviluppo, NON va bene per nessun ambiente di produzione. Preferirei vederlo menzionato nella risposta.
— Manuel

8
Questo non ha nulla a che fare con il timeout di PHPMyAdmin. Non so perché sia ​​così votato. Non è nemmeno correlato alla domanda.
— felwithe

112

La modifica di php.ini cambierà la durata della sessione per tutti i siti Web in esecuzione sul server. Per cambiarlo solo per PhpMyAdmin, apri config.inc.phpe aggiungi:

$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;

21
sembra esserci un'interfaccia utente per l'impostazione delle variabili config.php su localhost / phpmyadmin / setup /… - vedi Login Cookie Validity
— psycho brm

Questa impostazione dell'interfaccia utente è un po 'confusa ma funziona per impostare la password in config per l'accesso automatico e impostare l'ora di scadenza della sessione. Voto positivo.
— Antonio Max

1
Il tempo illimitato è quasi impossibile perché ogni cookie ha una "Valid Until" -Date, ma puoi semplicemente inserire un numero molto alto.
— Marcel Burkhard

5
Questa dovrebbe essere la risposta. La domanda chiedeva come modificare phpMyAdmin. Questa risposta lo risolve in modo specifico.

1
È necessario modificare anche il percorso del cookie. Perché se gc_maxlifetime è definito per un altro sito Web, gc eliminerà tutti i cookie la prima volta che viene chiamato per un sito Web. Puoi aggiungere queste 2 righe nel 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

In PHPMyAdmin 4 questo non appare più nel file config.inc.php. Invece vai su PHPMyAdmin nel tuo browser. Assicurati di essere a livello di localhost per vedere il collegamento Impostazioni. Quindi imposta Impostazioni> Funzionalità> Modifica il valore di "Validità cookie di accesso"> Salva

Istruzioni


NB sembra esserci un limite al numero di caratteri che puoi inserire in questo campo.
— Kohjah Breese

1
La modifica dell'interfaccia utente non funziona per me. Si disconnette ancora troppo velocemente, non importa quanto sia grande la validità del cookie di accesso .
— dani24

4
@ dani24, hai preso questo avviso: Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.? Fare clic sul collegamento in questo e verranno fornite le istruzioni per abilitare la possibilità di memorizzare in modo permanente le modifiche.
— Parapluie

phpMyAdmin mostrerà questo errore. 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.Dovrai applicare la risposta di Ravinder Singh oltre a questa.
— Abraham Murciano Benzadon

7
Non disponibile nella versione 4.8.4
— Thanasis

11

È possibile modificare la funzione di sessione temporale dei cookie nell'interfaccia web di phpmyadmin

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

O

Se desideri modificare la "validità del cookie di accesso" nel file di configurazione, apri il file di configurazione phpmMyAdmin, config.inc.phpnella directory principale di PHPMyAdmin. (La directory principale è solitamente / etc / phpmyadmin /)

Dopo aver individuato il file config.inc.php, cerca la riga sottostante e impostala sul valore dei secondi che vuoi che phpmyadmin metta in timeout:

['LoginCookieValidity'] 

Se non riesci a trovare la riga sopra, aggiungi semplicemente quanto segue:

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

Per esempio:

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

Il timeout è impostato su 3 ore dall'esempio sopra.

session.gc_maxlifetimepotrebbe limitare la validità della sessione e se la sessione viene persa, anche il cookie di accesso viene invalidato. Quindi, potrebbe essere necessario impostare session.gc_maxlifetime nel php.inifile di configurazione (il percorso del file è / etc / php5 /apache2/php.ini in ubuntu).

session.gc_maxlifetime = 3600 * 3


Documentazione phpMyAdmin su LoginCookieValidity

$ cfg ["LoginCookieValidity"]

Tipo: intero [numero di secondi]
Valore predefinito: 1440

Definisci per quanto tempo è valido un cookie di accesso. Si noti che l'opzione di configurazione php session.gc_maxlifetime potrebbe limitare la validità della sessione e se la sessione viene persa, anche il cookie di accesso viene invalidato. Quindi è una buona idea impostare session.gc_maxlifetime almeno allo stesso valore di $ cfg ['LoginCookieValidity'].

NOTA:

  1. Se il tuo server si è bloccato e non è possibile caricare la tua pagina phpmyadmin, controlla il tuo log di Apache in /var/log/apache2/error.log. Se sei PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.phpsulla linea 135, fai un chmod 644 config.inc.php. quello dovrebbe occuparsi dell'errore.
  2. Se viene visualizzato l'avviso:, 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.quindi modificare il session.gc_maxlifetime come indicato sopra.

5

Solo per le installazioni LOCALI, puoi rimuovere completamente il login e il timeout: questo sembra essere quello che stai cercando. Modificando il tipo di autorizzazione in "config" e inserendo il nome utente e la password del database nel file di configurazione, si accede automaticamente. Aggiungi a 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;

Ovviamente se lo fai su un server su Internet, arriverà un po 'sfacciato e sfacciato e allegramente scaricherà tutte le tue password ed eliminerà il tuo sito web. Questo è per un server di sviluppo in esecuzione solo sul tuo laptop.

Un modo più semplice per personalizzare phpmyadmin in questi giorni è andare su http://www.example.com/phpmyadmin/setup/ , salvare tutte le sezioni delle impostazioni alla volta, fare clic su salva o scarica in fondo, copiare il file generato sul tuo root phpmyadmin directory, quindi chmod it. Devi disattivare i permessi di scrittura anche se si tratta di un server locale poiché phpmyadmin lo controlla prima di permetterti di accedere.


Il nome del file è sbagliato, non è un grosso problema poiché la maggior parte capirà cosa intendi. Il nome corretto, tuttavia, èconfig.inc.php
— David

3

Esplora la directory "apps \ phpmyadmin4.5.2" nella tua cartella wamp e apri il file config.inc.php. Quindi aggiungi questa riga sotto il codice esistente.

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

È tutto...


1

Per phpMyadmin 5.0.2 in esecuzione su Ubuntu 18.04, ho modificato il file come segue:

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

  2. trova il metodo public static function getForms()e aggiunto il campo LoginCookieValidity

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
  3. salva il file e ora sarai in grado di cambiare il valore dall'interfaccia utente.

[Impostazioni -> Generali -> Funzionalità -> Validatità cookie di accesso]


Grazie per questo. Stavo guardando le risposte sopra, e tornando alla mia installazione 5.0.2, pensando che stavo impazzendo! Ti chiedi perché hanno rimosso l'interfaccia utente, soprattutto se è ancora pronta per essere riattivata?
— Headbank

0

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


La stessa risposta è stata già pubblicata molto tempo fa (e con spiegazione + informazioni sul timeout della sessione php di cui manca la tua risposta).
— Marki555

Anche se non ho menzionato, preferisco sempre risposte semplicissime per alcuni tipi di domande.
— Pmpr

1
Sì, ma se imposti la validità del cookie di accesso su un valore più alto rispetto alla validità della sessione in php, non funzionerà.
— Marki555

Non lo sapevo. grazie per il tuo commento informativo :)
— Pmpr

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.