phpmyadmin heure de déconnexion automatique

88

Comment puis-je modifier l'heure de déconnexion automatique de phpmyadmin?

Il se déconnectera automatiquement après 1440 secondes, ce qui est très faible pour moi. Comment puis-je modifier l'option ou supprimer complètement la demande de connexion?

Abadis
la source

Réponses:

86

Créez ou modifiez votre php.inifichier et définissez-y la valeur de cette variable:

session.gc_maxlifetime = 1440

L'entier est en secondes. 500000 secondes correspondent à 5,7 jours. Ensuite, redémarrez apache.

Ravinder Singh
la source
2
alors ouvrez votre fichier php.ini et augmentez la valeur de session.gc_maxlifetime, c'est tout.
Ravinder Singh
10
mauvaise réponse, problèmes de sécurité!
Sebastian Viereck
1
Vous devrez peut-être également mettre à jour $ cfg ['LoginCookieValidity'] dans le fichier phpmyadmin config.inc.php.
Jorge Orpinel
5
@ slaver113 Dans ce cas, je dirais que la sécurité est bonne car c'est un environnement de développement, ce n'est PAS bien pour n'importe quel environnement de production. Je préférerais que cela soit mentionné dans la réponse.
Manuel
8
Cela n'a rien à voir avec le délai d'expiration de PHPMyAdmin. Je ne sais pas pourquoi il a été si fortement voté. Ce n'est même pas lié à la question.
felwithe le
112

La modification de php.ini modifiera la durée de session pour tous les sites Web exécutés sur le serveur. Pour le changer uniquement pour PhpMyAdmin, ouvrez config.inc.phpet ajoutez:

$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;
Laurent
la source
21
il semble y avoir une interface utilisateur pour définir les variables config.php sur localhost / phpmyadmin / setup /… - voir Validité des cookies de connexion
psycho brm
Ce paramètre d'interface utilisateur est un peu déroutant mais fonctionne pour définir le mot de passe dans la configuration pour la connexion automatique et définir l'heure d'expiration de la session. Vote positif.
Antonio Max
1
Une durée illimitée est un peu impossible car chaque cookie a une date «valide jusqu'au», mais vous pouvez simplement entrer un nombre très élevé.
Marcel Burkhard
5
Cela devrait être la réponse. La question demandait comment modifier phpMyAdmin. Cette réponse le résout spécifiquement.
1
Vous devez également modifier le chemin des cookies. Parce que si gc_maxlifetime est défini pour un autre site Web, le gc supprimera tous les cookies la première fois qu'il appellera un site Web. Vous pouvez ajouter ces 2 lignes dans le fichier /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

Dans PHPMyAdmin 4, cela n'apparaît plus dans le fichier config.inc.php. Au lieu de cela, accédez à PHPMyAdmin dans votre navigateur. Assurez-vous que vous êtes au niveau de l'hôte local pour voir le lien Paramètres. Ensuite, définissez Paramètres> Fonctionnalités> Modifier la valeur de `` Validité du cookie de connexion ''> Enregistrer

instructions

Kohjah Breese
la source
NB il semble y avoir une limite sur le nombre de caractères que vous pouvez saisir dans ce champ.
Kohjah Breese
1
Le changement d'interface utilisateur ne fonctionne pas pour moi. Il se déconnecte toujours trop rapidement, quelle que soit la durée de validité du cookie de connexion .
dani24
4
@ dani24, avez - vous cet avis: Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.? Cliquez sur le lien ci-dessous, et il vous donnera des instructions pour activer la possibilité de stocker de manière permanente les modifications.
Parapluie
phpMyAdmin affichera cette erreur. 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.Vous devrez appliquer la réponse de Ravinder Singh ainsi que celle-ci.
Abraham Murciano Benzadon
7
Non disponible dans la version 4.8.4
Thanasis
11

Vous pouvez modifier la fonctionnalité de session de temps de cookie sur l'interface Web de phpmyadmin

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

OU

Si vous souhaitez modifier la `` validité du cookie de connexion '' dans le fichier de configuration, ouvrez le fichier de configuration phpmMyAdmin, config.inc.phpdans le répertoire racine de PHPMyAdmin (le répertoire racine est généralement / etc / phpmyadmin /)

Après avoir localisé le fichier config.inc.php, recherchez la ligne ci-dessous et définissez-la sur la valeur en secondes que vous souhaitez que phpmyadmin expire:

['LoginCookieValidity'] 

Si vous ne trouvez pas la ligne ci-dessus, ajoutez simplement ce qui suit:

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

Par exemple:

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

Le délai d'expiration est défini sur 3 heures à partir de l'exemple ci-dessus.

session.gc_maxlifetimepeut limiter la validité de la session et si la session est perdue, le cookie de connexion est également invalidé. Donc, nous pouvons avoir besoin de définir la session.gc_maxlifetime dans le php.inifichier de configuration (l'emplacement du fichier est / etc / php5 /apache2/php.ini dans ubuntu).

session.gc_maxlifetime = 3600 * 3


Documentation phpMyAdmin sur LoginCookieValidity

$ cfg ['LoginCookieValidity']

Type: entier [nombre de secondes]
Valeur par défaut: 1440

Définissez la durée de validité d'un cookie de connexion. Veuillez noter que l'option de configuration php session.gc_maxlifetime peut limiter la validité de la session et si la session est perdue, le cookie de connexion est également invalidé. C'est donc une bonne idée de définir session.gc_maxlifetime au moins à la même valeur que $ cfg ['LoginCookieValidity'].

REMARQUE:

  1. Si votre serveur tombe en panne et ne parvient pas à charger votre page phpmyadmin, vérifiez votre journal Apache sur /var/log/apache2/error.log. Si vous êtes arrivé PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.phpà la ligne 135, faites un chmod 644 config.inc.php. cela devrait régler l'erreur.
  2. Si vous obtenez l'avertissement 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.:, modifiez le session.gc_maxlifetime comme mentionné ci-dessus.
Pour toujours
la source
5

Pour les installations LOCALES uniquement, vous pouvez supprimer complètement la connexion et le délai d'expiration - cela semble être ce que vous recherchez. En changeant le type d'autorisation en "config" et en entrant votre nom d'utilisateur et votre mot de passe de base de données dans votre fichier de configuration, vous êtes automatiquement connecté. Ajoutez à 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;

Bien sûr, si vous faites cela sur un serveur sur Internet, un chappy effronté viendra et téléchargera joyeusement tous vos mots de passe et supprimera votre site Web. Ceci est pour un serveur de développement fonctionnant uniquement sur votre propre ordinateur portable.

Un moyen plus simple de personnaliser phpmyadmin ces jours-ci est d'aller sur http://www.example.com/phpmyadmin/setup/ , d'enregistrer tous vos paramètres à la fois, de cliquer sur Enregistrer ou de télécharger en bas, de copier le fichier généré sur votre répertoire racine phpmyadmin, puis chmod. Vous devez désactiver l'autorisation d'écriture même s'il s'agit d'un serveur local car phpmyadmin le vérifie avant de vous permettre de vous connecter.

Chris
la source
Le nom du fichier est faux, ce n'est pas un gros problème car la plupart comprendront ce que vous voulez dire. Le nom correct est néanmoinsconfig.inc.php
David
3

Explorez le répertoire 'apps \ phpmyadmin4.5.2' dans votre dossier wamp et ouvrez le fichier config.inc.php. Ajoutez ensuite cette ligne sous le code existant.

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

C'est tout...

Koushik Chowdhury
la source
1

Pour la version phpMyadmin 5.0.2 exécutée sur Ubuntu 18.04, j'ai édité le fichier comme suit:

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

  2. trouver la méthode public static function getForms()et le champ LoginCookieValidity ajouté

    public static function getForms()
    {
        $result = [
            'General' => [
                'VersionCheck',
                'NaturalOrder',
                'InitialSlidersState',
                'LoginCookieValidity', //Added this line if it missing
                ...........
          }
  3. enregistrez le fichier et vous pourrez maintenant modifier la valeur de l'interface utilisateur.

[Paramètres -> Général -> Fonctionnalités -> Validité des cookies de connexion]

sandip
la source
Merci pour cela. Je regardais les réponses ci-dessus, puis mon installation 5.0.2, et je pensais que je perdais la tête! Je me demande pourquoi ils ont supprimé l'interface utilisateur, surtout si elle est toujours prête à être réactivée?
Headbank
0

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

Pmpr
la source
La même réponse a déjà été postée il y a longtemps (et avec des explications + des informations sur le délai d'expiration de la session php qui manque à votre réponse).
Marki555
Bien que je ne l'ai pas mentionné, je préfère toujours des réponses super simples pour certains types de questions.
Pmpr
1
Oui, mais si vous définissez la validité du cookie de connexion sur une valeur supérieure à la validité de session en php, cela ne fonctionnera pas.
Marki555 le
Je ne savais pas ça. merci pour votre commentaire informatif :)
Pmpr
-1

J'ai phpmyadmin 4.9.2. et essayez de configurer LoginCookieValidity, mais j'ai une déconnexion automatique: (Si vous utilisez localhost, vous pouvez essayer 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
la source