phpmyadmin se déconnecte après 1440 secondes


134

Dans ma boîte Ubuntu de développement local, j'utilise MySQL et phpmyadmin pour travailler avec la base de données.

Chaque fois que phpmyadmin est inactif pendant 1440 secondes (24min), la session expire. Je perds ma place et je dois me connecter et recommencer.

J'ai essayé de changer l' $cfg['LoginCookieValidity'] = 3600 * 9;intérieur config.inc.phpmais il expire toujours en 1440 secondes.

J'ai tout redémarré et effacé le cache du navigateur (historique Firefox -> Effacer l'historique récent -> Cache -> Tout).

Je ne sais pas pourquoi l'augmentation du délai d'attente ne prend pas effet. Qu'est-ce que je fais mal?


5
La première chose qui me vient à l'esprit est, avez-vous redémarré le serveur Web après avoir changé config.inc.php?
0xmtn

Oui, j'avais exécuté cette commande: sudo service mysql restart
sandeep

2
Si vous avez résolu ce problème, pouvez-vous poster la solution comme réponse ici? ;)
0xmtn

Pour Ubuntu 18.04, je viens de modifier le fichier /usr/share/phpmyadmin/libraries/config.default.php Changement: $ cfg ['LoginCookieValidity'] = 1440
Ahmed Ismail

Réponses:


199

Accédez à PHPMyAdmin dans votre navigateur

Paramètres> Fonctionnalités> Modifier la valeur de validité du cookie de connexion> Enregistrerentrez la description de l'image ici

REMARQUE : vous devrez le faire par session.


5
C'est la solution la plus rapide et la plus simple à ce problème. Ça devrait être la réponse !!!
Pini Cheyni

14
Ce n'est pas une solution permanente. J'ai essayé de faire cela, mais après un ou deux jours, il se réinitialise à 1440 secondes.
Rolen Koh

5
Cela ne fonctionne que pour la session en cours. Il le dit même dans les paramètres.
Richard Duerr

4
n'oubliez pas de mettre à jour le paramètre php.inisession.gc_maxlifetime = SAME_OR_BIGGER_VALUE_AS_PHPMYADMIN
Lukas Liesis

7
FYI: pas la meilleure option. Il enregistre uniquement sur la session en cours
Abdulla Nilam

70

Ajoutez cette ligne à /config.inc.php:

$cfg['LoginCookieValidity'] = 36000;

Dans /setup/lib/index.lib.php

$cf->getValue('LoginCookieValidity') > 36000;

Si vous ne disposez pas déjà d'un fichier .htaccess pour votre site phpMyAdmin, créez-en un et ajoutez la ligne suivante pour remplacer le délai d'expiration de la session PHP par défaut:

php_value session.gc_maxlifetime 36000

Je ne recommanderais pas de modifier cette valeur dans votre fichier principal php.ini, car cela permettra un timeout de session ridiculement long pour tous vos sites PHP.

source: http://www.sitekickr.com/blog/increase-phpmyadmin-timeout/


1
si je peux ajouter à cela, changez également la ligne 698 de config.default.php de $ cfg ['LoginCookieValidity'] = 1440; à $ cfg ['LoginCookieValidity'] = 36000;
mstation

1
au lieu de mettre la première ligne, phpmyadmin/config.inc.phpplacez-le dans un nouveau fichier dans le répertoire phpmyadmin/conf.dafin qu'il ne soit pas écrasé lors d'une mise à niveau
zelcon

5
Vous pouvez également étendre gc_maxlifetime en ajoutant ce qui suit à votre fichier config.inc.php (généralement dans le répertoire / etc / phpmyadmin): ini_set ('session.gc_maxlifetime', '36000'); Cela le localisera également dans phpmyadmin et n'affectera pas la période de récupération de place des autres scripts PHP. Et, d'après la documentation, le fichier config.inc.php est destiné à être utilisé pour modifier le comportement - voir docs.phpmyadmin.net/en/latest/config.html . Ainsi, pas de soucis quant à la modification de ce fichier par une mise à jour.
ReverseEMF

1
Je viens d'essayer ceci, et il semble que l'étape 2 n'est pas nécessaire. Juste le changement de fichier de configuration et le changement .htaccess.
Andy Mercer

Pour Ubuntu 18.04, le fichier est/usr/share/phpmyadmin/libraries/config.default.php
Ahmed Ismail

52

Nous pouvons modifier la fonctionnalité de session de temps de cookie à:

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

J'ai trouvé la réponse ici. Aucune activité dans les 1440 secondes; veuillez vous reconnecter

ÉDITER:

Cette solution ne fonctionnera que pour la session en cours, pour changer définitivement faites:

ouvrez config.inc.php dans le répertoire racine phpMyAdmin.

dossier wamp: wamp \ apps \ phpmyadmin {version} \ config.inc.php

ubuntu: / etc / phpmyadmin

ajouter cette ligne

$cfg['LoginCookieValidity'] = <your_timeout>;

Exemple

$cfg['LoginCookieValidity'] = '144000';

9
Vous devez également changer session.gc_maxlifetimedans php.ini une valeur supérieure à la valeur par défaut: 1440.
M Rostami

5
Cette réponse est très incomplète et ne devrait pas être la meilleure source de votes. La modification des paramètres donne l'avertissement suivant: "Vos préférences ne seront enregistrées que pour la session en cours. Les stocker de manière permanente nécessite un stockage de configuration phpMyAdmin."
fivedogit

@fivedogit ici, j'ai placé une réponse plus complète qui fonctionne bien en ce qui concerne cette réponse.
Mojtaba Rezaeian

Notez que vous ne pouvez pas définir une valeur supérieure à 9223372036854775806 ou cela entraînera un débordement d'entier.
egdavid

23

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:

$cfg['LoginCookieValidity'] 

ou

Ajoutez 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. Vous obtiendrez alors un autre 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.. puis changez le session.gc_maxlifetime comme mentionné ci-dessus.

16

Il semble y avoir une interface utilisateur pour modifier les configurations phpmyadmin Démarrez apache et cliquez sur le lien suivant

http://localhost/phpmyadmin/setup/index.php?page=form&formset=Features#tab_Security


2
Ce lien mène à la configuration de phpMyAdmin . Changer les paramètres de l' application de travail via son script d' installation est un peu risqué, vous ne trouvez pas?
trejder

13

Étapes pour le faire en utilisant phpMyAdmin settingssans aucun problème ni exigences pour modifier les configurations dans php my.ini ou définir le fichier .htaccess:

  1. Accédez à votre phpMyAdminchemin d'installation (ex. / Usr / share / phpMyAdmin / sur mon centos7) et recherchez create_tables.sqldans l'un de ses sous-dossiers ( phpMyAdmin/sql/create_tables.sqldans ma version 4.4.9.) Et exécutez le contenu complet du fichier sur votre site phpMyAdmin actuel à partir de votre navigateur Web. Cela créera une base de données nommée phpmyadminqui pourra conserver toutes vos options phpMyAdmin enregistrées en permanence.
  2. Dans phpMyAdmin config.inc.php(situé sur / etc / phpMyAdmin / dans mon serveur centos7), trouvez la ligne commentée $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';et décommentez-la (maintenant, phpMyAdmin utilisera cette base de données personnalisée que nous avons générée à l'étape précédente).
  3. Aller à phpMyAdminpartir du navigateur Web et aller Server >> Settings >> Features >> "Login Cookie Validity"comme dans l'image décrite par Pavnish et définir la valeur souhaitée. Ça fonctionne maintenant.

Références : Niccolas Answer , PhpMyAdmin Configuration Storage , flashMarks Answer


Cela ne fonctionne pas sur phpMyAdmin 4.8.3. Refaire le simple complexe. Je me souviens qu'avant cette mise à jour (j'utilisais environ 4.4), tout fonctionnait bien via Serveur >> Paramètres >> Fonctions, comme indiqué ici. Plus maintenant. Le config.inc.php ne vient pas avec cette ligne
luisfer

8

Vous obtiendrez alors un autre avertissement: «Votre paramètre PHP session.gc_maxlifetime est inférieur à la validité du cookie configuré dans phpMyAdmin, de ce fait, votre connexion expirera plus tôt que configuré dans phpMyAdmin.». Cela a du sens car la session de php expirera en premier de toute façon. Nous devrons donc changer /etc/php.ini.

session.gc_maxlifetime = 43200
Thats 12 hours in seconds. 

Redémarrez votre serveur Apache et vous avez terminé!

source: http://birdchan.com/home/2011/06/06/phpmyadmin-timeout-after-1440-seconds/

cela fonctionne pour moi! :)


7

Vous devez redémarrer apache ou httpd, pas mysqld

sudo service httpd restart

ou

sudo /etc/init.d/apache2 restart

Maintenant, j'ai redémarré Apache en utilisant la commande ur (c.-à-d. Redémarrage sudo /etc/init.d/apache2), mais phpmyadmin se déconnecte toujours après 1440 secondes.
sandeep

1
Le message d'erreur « Aucune activité dans les 1440 secondes; veuillez vous reconnecter » s'affiche- t-il ou il se déconnecte simplement? S'il se déconnecte, enregistrez- session.gc_maxlifetimevous /etc/php.ini, quelle en est la valeur?
0xmtn

oui, je vois ce message: "Aucune activité dans les 1440 secondes; veuillez vous
reconnecter

1
C'est vraiment bizarre. Pouvez-vous également définir session.gc_maxlifetime=3600*9dans /etc/php.ini et redémarrer le serveur Web et réessayer? Juste pour un débogage plus rapide, définissez les deux ( session.gc_maxlifetimeet $cfg['LoginCookieValidity']) sur quelque chose de petit, par exemple 50 (secondes), puis redémarrez le serveur Web, effacez le cache de votre navigateur et réessayez.
0xmtn

Pouvez-vous clarifier comment, le redémarrage du service devrait modifier la configuration de quoi que ce soit?
trejder

7

Augmentez simplement le délai d'expiration de la session phpMyAdmin, ouvrez config.inc.php dans le répertoire racine de phpMyAdmin et ajoutez cette ligne.

à partir du chemin du dossier wamp wamp \ apps \ phpmyadmin4.0.4 \ config.inc.php

$cfg['LoginCookieValidity'] = <your_timeout>;

Exemple

$cfg['LoginCookieValidity'] = '1440';

Remarque: une courte durée de vie des cookies est bien et non pour votre serveur de production.


7

1) Connectez-vous à phpMyAdmin 2) Depuis l'écran d'accueil, cliquez sur «Plus de paramètres» (pour moi au milieu en bas de l'écran) 3) Cliquez sur l'onglet / bouton «Fonctionnalités» vers le haut de l'écran. 4) Pendant 20 jours, définissez le paramètre «Validité des cookies de connexion» sur 1728000 5) Appliquer.

php xampp


6

Pour définir un cookie de manière permanente, vous devez suivre certaines étapes

Aller à->/etc/phpmyadmin/config.inc.php fichier

ajouter ce code

$cfg['LoginCookieValidity'] = <cookie expiration time in seconds > 

5

Ça ne marche pas. La session PHP expirera de toute façon après 1440 secondes.

Changez PHP.inicela aussi:

session.gc_maxlifetime = 3600

http://www.phpmyadmin.net/documentation/Documentation.html#config

Aussi, de PHP.ini :

Si vous utilisez l'option de sous-répertoire pour stocker les fichiers de session

; (voir ci - dessus session.save_path), puis la collecte des ordures ne pas

; arriver automatiquement. Vous devrez faire vos propres poubelles

; collection via un script shell, une entrée cron ou une autre méthode.

; Par exemple, le script suivant équivaut à

; définition de session.gc_maxlifetime sur 1440 (1440 secondes = 24 minutes):

; cd / chemin / vers / sessions; trouver -cmin +24 | xargs rm


5

changement dans le fichier php.in de wampicon / php / php

session.gc_maxlifetime = 1440

à

session.gc_maxlifetime = 43200

4

Si le paramètre $cfg['LoginCookieValidity']ne prend pas effet dans le config.inc.phpfichier, essayez de désactiver le session.gc_maxlifetimedans le fichier php.ini en mettant un point-virgule à gauche comme ceci:

; After this number of seconds, stored data will be seen as 'garbage' and
; cleaned up by the garbage collection process.
; http://php.net/session.gc-maxlifetime
; session.gc_maxlifetime = 1440

Ou essayez de désactiver les deux $cfg['LoginCookieValidity']et session.gc_maxlifetime = 1440en commentant les deux.

Ensuite, phpMyAdmin ne devrait plus se déconnecter lorsque vous êtes inactif. Cela fonctionne pour moi sous Windows. N'oubliez pas de vider le cache de votre navigateur et de redémarrer votre serveur Web.


j'ai presque oublié. Après avoir appliqué ces modifications, effacez le cache de votre navigateur et redémarrez votre serveur Web! bravo mec.
Alex

Je pense que c'est en fait $cfg['Servers'][$i]['LoginCookieValidity'], pas le $cfg['LoginCookieValidity'], qui devrait être défini, si vous avez la configuration de type plusieurs serveurs de phpMyAdmin dans config.inc.php. Et non, commenter le $cfg['Servers'][$i]['LoginCookieValidity']n'apportera aucun résultat, car cette valeur a disparu par défaut. Donc, avec ce paramètre commenté ou supprimé, phpMyAdmin semble revenir aux 1440secondes par défaut .
trejder

4

étapes pour modifier l'expiration des cookies

étape 1: Accédez aux paramètres de Phpmyadmin

étape 2: Général

étape 3: validité du cookie de connexion

étape 4: Mettez à jour le délai d'expiration du cookie par défaut de 1440 secondes avec votre nouvelle valeur


3
il ne fonctionnera que pour une session particulière, après quoi il sera à nouveau réglé sur les 1440 secondes
Naresh Dudhat


1

Après avoir essayé toutes les méthodes suggérées ici et être toujours déconnecté, je me suis tourné vers l'écriture d'un petit script utilisateur pour Tampermonkey car j'ai déjà cette extension. C'est très simple et envoie juste une requête à l'un des scripts à faible encombrement de PHPMyAdmin une fois par minute. Voici le code:

// ==UserScript==
// @name         PHPMyAdmin Keep Session Alive
// @namespace    https://www.bitwizeor.io/
// @version      0.1
// @description  No more nasty PHPMyAdmin session expiries
// @match        http://localhost/phpmyadmin/*
// ==/UserScript==

(function() {
    'use strict';
    console.log('PHPMyAdmin Keep Session Alive activated');
    var url;
    window.setInterval(function(){
        url = $("#serverinfo a:eq(1)").prop("href");
        url += '&ajax_request=true&ajax_page_request=true';
        $.getJSON(url);
        console.log('pinging ...');
    }, 60000);
})();

1

=== méthode 1 avec connexion http ===

[php.ini]
session.gc_maxlifetime = 86400

[config.inc.php]

$cfg['Servers'][$i]['auth_type']     = 'http';

=== méthode 2 avec connexion cookie ===

[php.ini]

session.gc_maxlifetime = 86400

[config.inc.php]

$cfg['Servers'][$i]['auth_type']     = 'cookie';

$cfg['Servers'][$i]['LoginCookieValidity'] = 86400;

$cfg['Servers'][$i]['pmadb']         = 'phpmyadmin';

$cfg['Servers'][$i]['controluser']   = 'phpmyadmin_pma';

$cfg['Servers'][$i]['controlpass']   = 'nigookike';

$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; // there's a lot of other table required for full functionality,
                                                                         // all others can be left out unconfig except this one

[mysql]
-import phpMyAdmin/sql/create_tables.sql

-grant PRIVILEGES to phpmyadmin_pma as below

db/table

phpmyadmin  ALL PRIVILEGES 

mysql/db    SELECT

mysql/host  SELECT

mysql/tables_priv   USAGE

mysql/user  USAGE


-clear all entries should old one exists

phpmyadmin/pma__userconfig

[webUI]

-clear broswer cookie

-as normal mysql user, access http://mysql/phpmyadmin , at the bottom of page:

    The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. [Find out why.]

-near top of the page

    [Create missing phpMyAdmin configuration storage tables.]

-access http://mysql/phpmyadmin > settings > features > Login cookie validity > 86400 > [apply]

-check phpmyadmin/pma__userconfig contain new entries of aforemention mysql user

NB

  1. chaque utilisateur a un paramètre indépendant et la procédure [webUI] doit être répétée pour chaque utilisateur

  2. si "Le stockage de configuration de phpMyAdmin n'est pas complètement configuré, certaines fonctionnalités étendues ont été désactivées. [Découvrez pourquoi.]"

le lien n'apparaît pas sur la page d'accueil, allez dans les paramètres> fonctionnalités> avertissements> Tables de stockage de configuration phpMyAdmin manquantes> [actualiser] plusieurs fois le fera apparaître


Veuillez formater cet extrait correctement. Sinon, il est presque illisible - même si le contenu semble prometteur.
Igor

0

J'ai trouvé la solution et je l'utilise avec succès depuis quelque temps déjà.

Installez simplement cet addon sur votre navigateur FF.


3
Excellente suggestion, car le monde entier utilise Firefox. Pour que cela soit marqué comme réponse, vous devriez au moins avoir suggéré des addons pour plus d'un navigateur - car la plupart des gens normaux utilisent un navigateur décent tel que Google Chrome ..

5
utiliser un addon pour un problème aussi spécifique et trivial me semble insurmontable.
saimiris_devel

1
Cela ne répond pas à la question. Cela ne devrait pas être la réponse acceptée. Vous demandiez: «Je ne sais pas pourquoi l'augmentation du délai d'attente ne prend pas effet. Qu'est-ce que je fais mal?"
Philippe-André Lorin

c'est une réponse totalement hors de propos. Soit l'utilisateur doit changer la "réponse sélectionnée", soit nous impliquons le modérateur pour examiner cela?
Étoile le

0

Cela a fonctionné pour moi après

  • changé $cfg['LoginCookieValidity']dans (phpmyadmin folder)/libraries/config.default.phpla 999999999.

  • vérifié le php.iniutilisé par le phpmyadmin par php5 -i | grep php.ini.

  • est allé au php.inifichier dont j'ai obtenu le chemin à partir de la sortie de la commande grep et a changé la session.gc_maxlifetimevaleur en 999999999.

  • redémarré le serveur. Dans mon cas, c'était le cas sudo service apache2 restart.

Terminé. Connecté phpmyadmin et vérifié la validité des cookies dans Paramètres -> Fonctionnalités -> Général -> Validité des cookies de connexion. C'était 999999999. Il n'y avait pas non plus d'avertissement "Votre paramètre PHP session.gc_maxlifetime est inférieur à la validité du cookie ...". L'avertissement s'affiche après que je me suis connecté à phpmyadmin avant de modifier lephp.ini fichier.

Vérifiez la version de php utilisée par le phpmyadmin. Vous devez changer le fichier ini du php qui est utilisé par le phpmyadmin. J'ai installé php5 et php (ie 7). Mais mon phpmyadmin utilise php5. J'ai donc dû rechercher le fichier ini de php5.


0

Je sais que c'est un ancien article, mais j'ai essayé toutes les solutions que j'ai lues, y compris celles de cette page en vain, puis j'ai eu de la chance, alors je la poste ici.

J'utilise Ubuntu 17.10.

J'ai archivé /etc/phpmyadmin/config.inc.php et remplacé son contenu par le contenu de /usr/share/phpmyadmin/config.sample.inc.php.

Je puis

 1) Enabled (uncommented) all the options under "Storage database and tables"; 
 2) Included "ini_set('session.gc_maxlifetime', 86400);" underneath the uncommented items; and 
 3) Provided a 32 character sequence for the $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */, which is above the uncommented items.

J'ai enregistré le fichier et redémarré phpMyAdmin.

J'ai sélectionné Serveur: localhost -> Paramètres -> Fonctionnalités et changé la valeur de "validité du cookie de connexion" à 86400 (24 heures). Notez que toute valeur non par défaut que vous spécifiez fera que la couleur d'arrière-plan de cette option deviendra jaune, alors ne vous inquiétez pas. La valeur doit être inférieure ou égale à la valeur que vous avez utilisée dans config.inc.php.

J'ai enregistré les paramètres, quitté et redémarré phpMyAdmin.

Enfin, tous les messages ont disparu. Ma session reste active selon les paramètres (toute la journée dans ce cas) et mes paramètres sont mémorisés.

J'espère sûrement que cela aide quelqu'un. C'était frustrant pour moi de faire face et de résoudre.


0

conduisez ici votre wamp installé puis allez dans wamp puis apps puis votre dossier de version phpmyadmin puis allez dans les bibliothèques puis éditez le fichier config.default.php par exemple

E: \ wamp \ apps \ phpmyadmin4.6.4 \ bibliothèques \ config.default.php

ici tu dois changer

$ cfg ['LoginCookieRecall'] = true;

à

$ cfg ['LoginCookieRecall'] = false;

vous pouvez également modifier l'heure du cookie à la place pour désactiver le rappel des cookies

$ cfg ['LoginCookieValidity'] = 1440;

à

$cfg['LoginCookieValidity'] = anthing grater then 1440 

le mien est

 $cfg['LoginCookieValidity'] = 199000;

après avoir changé, redémarrez votre serveur entrez la description de l'image ici

il existe également une autre méthode, mais elle est réinitialisée chaque fois que nous redémarrons notre serveur wamp et voici cette méthode également

Connectez-vous à votre dashbord phpmyadmin puis allez dans les paramètres puis cliquez sur les fonctionnalités et dans l'onglet général, vous verrez la validité du cookie de connexion mettre quelque chose de supérieur à 14400 mais cela est valable jusqu'au prochain redémarrage de votre serveur.

entrez la description de l'image ici


0

Pour Ubuntu 18.04, je viens de modifier le fichier /usr/share/phpmyadmin/libraries/config.default.php

Changement: $cfg['LoginCookieValidity'] = 1440

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.