151 votes

phpmyadmin se déconnecte après 1440 secondes

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

Lorsque 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 le $cfg['LoginCookieValidity'] = 3600 * 9; à l'intérieur de config.inc.php mais il s'arrête toujours au bout de 1440 secondes.

J'ai tout redémarré et vidé 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 de mal ?

5 votes

La première chose qui me vient à l'esprit est que vous avez redémarré le serveur web après avoir modifié config.inc.php ?

0 votes

Oui, j'avais lancé cette commande : sudo service mysql restart

2 votes

Si vous avez résolu ce problème, pouvez-vous s'il vous plaît poster la solution comme une réponse ici ? ;)

79voto

Phil LaNasa Points 510

Ajoutez cette ligne à /config.inc.php :

$cfg['LoginCookieValidity'] = 36000;

Dans /setup/lib/index.lib.php

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

Si vous n'avez pas encore de fichier .htaccess pour votre site phpMyAdmin, créez-en un et ajoutez la ligne suivante pour remplacer le délai d'attente par défaut de la session PHP :

php_value session.gc_maxlifetime 36000

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

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

1 votes

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

1 votes

Au lieu de mettre la première ligne dans phpmyadmin/config.inc.php le mettre dans un nouveau fichier dans le répertoire phpmyadmin/conf.d afin qu'il ne soit pas écrasé lors d'une mise à jour.

5 votes

Vous pouvez également étendre la durée de vie maximale de gc_max 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 la localisera également à phpmyadmin et n'affectera pas la période de collecte des déchets des autres scripts PHP. De plus, d'après la documentation, le fichier config.inc.php est censé être utilisé pour modifier le comportement -- cf. docs.phpmyadmin.net/fr/latest/config.html . Ainsi, vous n'avez pas à craindre que ce fichier soit modifié par une mise à jour.

55voto

flashMark Points 328

Nous pouvons modifier la fonction de session de temps des cookies à l'adresse suivante :

Paramètres->Fonctionnalités->Général->Validité du cookie de connexion

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

EDIT :

Cette solution ne fonctionnera que pour la session en cours, à changer en permanence faire :

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

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

ubuntu : /etc/phpmyadmin

ajouter cette ligne

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

Ejemplo

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

9 votes

Vous devez changer session.gc_maxlifetime dans le php.ini à une valeur supérieure à la valeur par défaut : 1440 aussi.

5 votes

Cette réponse est très incomplète et ne devrait pas être en tête des votes. En modifiant les paramètres, on obtient l'avertissement suivant : "Vos préférences seront enregistrées pour la session en cours uniquement. Leur enregistrement permanent nécessite le stockage de la configuration de phpMyAdmin."

0 votes

@fivedogit ici J'ai placé une réponse plus complète qui fonctionne bien par rapport à cette réponse.

23voto

Foreever Points 888

Vous pouvez modifier la fonction de session de temps de cookie dans l'interface web 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 de phpmMyAdmin, config.inc.php dans 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 en fonction du nombre de secondes pendant lequel vous souhaitez que phpmyadmin passe le temps :

$cfg['LoginCookieValidity'] 

o

Ajoutez ce qui suit :

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

Par exemple :

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

Le délai d'attente est fixé à 3 heures dans l'exemple ci-dessus.

session.gc_maxlifetime peut limiter la validité de la session et si la session est perdue, le cookie de connexion est également invalidé. Ainsi, il peut être nécessaire de définir la durée de vie maximale de la session (session.gc_maxlifetime) dans le fichier php.ini fichier de configuration (l'emplacement du fichier est /etc/php5 /apache2/php.ini dans ubuntu).

session.gc_maxlifetime = 3600 * 3

Documentation de phpMyAdmin sur la validité de la connexion (LoginCookieValidity)

$cfg['LoginCookieValidity']

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

Définir 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'].

NOTE :

  1. Si votre serveur a planté et ne peut pas charger votre page phpmyadmin, vérifiez votre journal apache dans /var/log/apache2/error.log. Si vous obtenez PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.php à la ligne 135, alors faites a chmod 644 config.inc.php . cela devrait régler le problème.
  2. Vous recevrez alors un nouvel 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 indiqué ci-dessus.

0 votes

Pourquoi supposez-vous qu'Apache est impliqué ?

18voto

Smith Points 1711

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

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

2 votes

Ce lien mène à phpMyAdmin configuration . Modification des paramètres de travail par le biais de son installation script est un peu risqué, vous ne pensez pas ?

7voto

mtndesign Points 843

Vous devez redémarrer apache ou httpd, pas mysqld.

sudo service httpd restart

o

sudo /etc/init.d/apache2 restart

0 votes

J'ai redémarré apache en utilisant votre commande (c'est-à-dire sudo /etc/init.d/apache2 restart), mais phpmyadmin se déconnecte toujours après 1440 secondes.

1 votes

Voyez-vous l'erreur " Aucune activité dans les 1440 secondes ; veuillez vous connecter à nouveau. "ou il se déconnecte tout simplement ? S'il se déconnecte, vérifiez session.gc_maxlifetime dans votre /etc/php.ini Quelle en est la valeur ?

0 votes

Oui, j'ai vu ce message : "Aucune activité dans les 1440 secondes ; veuillez vous reconnecter"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X