web-dev-qa-db-fra.com

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. 

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 le $cfg['LoginCookieValidity'] = 3600 * 9; à l'intérieur de config.inc.php, mais il expire toujours dans 1440 secondes. 

J'ai tout redémarré et vidé le cache du navigateur (historique de Firefox -> effacer l'historique récent -> cache -> tout).

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

121
sandeep

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

Il suffit d’installer ce Addon sur votre navigateur FF.

1
sandeep

Allez à PHPMyAdmin dans votre navigateur 

Paramètres> Fonctions> Modifier la valeur de validité du cookie de connexion> Enregistrerenter image description here

182
Pavnish Yadav

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'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 php.ini principal, car cela autoriserait un délai de session ridiculement long pour tous vos sites PHP.

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

61
Phil LaNasa

Nous pouvons modifier la fonctionnalité de session de cookie à l’adresse suivante:

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

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

47
flashMark

Vous pouvez modifier la fonctionnalité de session de cookie à l’interface Web de phpmyadmin

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

OR

Si vous souhaitez modifier la 'validité du cookie de connexion' dans le fichier de configuration, ouvrez le fichier de configuration 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 sur la valeur en secondes à laquelle phpmyadmin doit expirer:

$cfg['LoginCookieValidity'] 

ou

Ajouter ce qui suit:

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

Par exemple:

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

La temporisation est définie sur 3 heures à partir de 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é. Donc, nous devrons peut-être définir session.gc_maxlifetime dans le fichier de configuration php.ini (l'emplacement du fichier est/etc/php5 /Apache2/php.ini dans Ubuntu). 

session.gc_maxlifetime = 3600 * 3


Documentation phpMyAdmin sur LoginCookieValidity 

$ cfg ['LoginCookieValidity']

Tapez: 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. Si la session est perdue, le cookie de connexion est également invalidé. Il est donc judicieux de définir session.gc_maxlifetime au moins avec la même valeur que $ cfg ['LoginCookieValidity'].

REMARQUE:

  1. Si votre serveur tombe en panne et ne peut pas charger votre page phpmyadmin, vérifiez Votre journal Apache à l'adresse /var/log/Apache2/error.log. Si vous avez obtenu 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 alors Un chmod 644 config.inc.php. cela devrait prendre soin de l'erreur.
  2. Vous recevrez 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.. changez ensuite le session.gc_maxlifetimea mentionné ci-dessus.
22
Foreever

Il semble y avoir une interface utilisateur pour changer les configurations de phpmyadmin

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

16
Smith

Étapes à suivre pour faire cela en utilisant phpMyAdmin settings sans aucun problème ni exigence pour changer les configurations dans php my.ini ou définir le fichier .htaccess:

  1. Allez dans votre chemin phpmyadmin et recherchez create_tables.sql dans l'un de ses sous-dossiers (phpMyAdmin/sql/create_tables.sql dans ma version 4.4.9.) Et exécutez le contenu du fichier entier sur votre site phpMyAdmin actuel à partir de votre navigateur Web. Cela créera une base de données nommée phpmyadmin qui pourra conserver toutes vos options phpMyAdmin enregistrées de manière permanente.
  2. Dans config.inc.php de phpMyAdmin, recherchez la ligne commentée $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; et décommentez-la (maintenant, phpMyAdmin utilisera la base de données personnalisée que nous avons générée à l'étape précédente).
  3. Allez à phpMyAdmin à partir du navigateur Web et passez à Server >> Settings >> Features >> "Login Cookie Validity" comme sur l’image décrite par Pavnish et réglez la valeur souhaitée. Ça fonctionne maintenant.

Références: Niccolas Réponse , Stockage de configuration PhpMyAdmin , flashMarks Réponse

13
Mojtaba Rezaeian

Vous recevrez alors un autre avertissement: “Votre paramètre PHP session.gc_maxlifetime est inférieur à la validité de cookie configurée dans phpMyAdmin. Pour cette raison, votre connexion expirera plus tôt que celle configurée dans phpMyAdmin.“. Cela a du sens, car la session php expirera d’abord de toute façon. Nous devrons donc changer /etc/php.ini.

session.gc_maxlifetime = 43200
That’s 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
apis17

1) Connectez-vous à phpMyAdmin 2) À partir de l'écran d'accueil, cliquez sur "Plus de paramètres" (milieu en bas de l'écran pour moi) 3) Cliquez sur l'onglet/bouton "Caractéristiques" en haut de l'écran .4) Pendant 20 jours, définissez le paramètre "Validité du cookie de connexion" sur 1728000 5) Appliquer.

php xampp

7
ekta chauhan

Vous devez redémarrer Apache ou httpd, pas mysqld

Sudo service httpd restart

ou 

Sudo /etc/init.d/Apache2 restart
7
mtndesign

Vous venez d'augmenter le délai de session phpMyAdmin, ouvrez config.inc.php dans le répertoire racine phpMyAdmin et ajoutez cette ligne.

depuis le dossier wamp path wamp\apps\phpmyadmin4.0.4\config.inc.php

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

Exemple

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

Remarque: La durée de vie d’un cookie court est excellente pour le serveur de développement et non pour votre serveur de production.

6
Ravi Delixan

Ça ne marche pas. La session PHP expirera quand même après 1440 secondes.

Changer dans PHP.ini cela aussi:

session.gc_maxlifetime = 3600

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

Aussi, à partir de PHP.ini:

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

; (voir session.save_path ci-dessus), alors la récupération de place fait pas

; se produire automatiquement. Vous devrez faire vos propres ordures

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

; Par exemple, le script suivant équivaudrait à

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

; cd/chemin/à/sessions; find -cmin +24 | xargs rm

5
intec infosys

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

Goto -> /etc/phpmyadmin/config.inc.php fichier

ajouter ce code 

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

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

session.gc_maxlifetime = 1440

à

session.gc_maxlifetime = 43200
5
user3244260

Si le paramètre $cfg['LoginCookieValidity'] ne prend pas effet dans le fichier config.inc.php, essayez de désactiver le session.gc_maxlifetime dans 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 $cfg['LoginCookieValidity'] et session.gc_maxlifetime = 1440 en les commentant tous les deux.

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

4
Alex

étapes pour changer l'expiration du cookie 

é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 avec votre nouvelle valeur 

4
Naresh Dudhat

Si vous avez phpmyadmin configuration storage setup, les paramètres seront extraits de votre table phpmyadmin.pma__userconfig et remplaceront tout ce que vous avez dans config.inc.php. Dans cette table, chaque utilisateur de MYSQL peut se voir attribuer un ensemble différent de paramètres phpmyadmin.

2
Nicolas Connault

Après avoir essayé toutes les méthodes suggérées ici tout en continuant à me déconnecter, je me suis tourné vers l'écriture d'un petit script d'utilisation pour Tampermonkey car j'ai déjà cette extension. C'est très simple et envoie simplement une requête à l'un des scripts à faible empreinte 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
Majid Fouladpour

=== méthode 1 avec login http ===

[php.ini]
session.gc_maxlifetime = 86400

[config.inc.php]

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

=== méthode 2 avec identification par 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

N.B.

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

  2. if "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 paramètres> fonctionnalités> avertissements> tables de stockage de configuration manquantes de phpMyAdmin> [rafraîchir] plusieurs fois, il apparaîtra

0
Dil Lee

Je sais que c’est un vieux message, mais j’ai essayé toutes les solutions que j’ai lues, y compris celles de cette page, mais j’ai eu de la chance, c’est pourquoi je l’affiche 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.

J'ai alors 

 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 sauvegardé le fichier et redémarré phpMyAdmin. 

J'ai sélectionné Serveur: localhost -> Paramètres -> Fonctions et modifié la valeur de "Validité du cookie de connexion" en 86400 (24 heures). Notez que toute valeur autre que celle par défaut que vous spécifiez entraînera le jaune de la couleur d'arrière-plan de cette option. Ne vous inquiétez donc pas. La valeur doit être inférieure ou égale à la valeur que vous avez utilisée dans config.inc.php. 

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

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

J'espère que cela aidera quelqu'un. C'était frustrant pour moi de gérer et de résoudre.

0
Nick

Cela a fonctionné pour moi après que je 

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

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

  • est allé dans le fichier php.ini dont le chemin est issu de la sortie de la commande grep et a modifié la valeur session.gc_maxlifetime en 999999999.

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

Terminé. Connecté à phpmyadmin et vérifié la validité du cookie dans Paramètres -> Fonctions -> Général -> Validité du cookie de connexion. C'était 999999999. De plus, il n'y avait pas d'avertissement "Votre paramètre PHP session.gc_maxlifetime est inférieur à la validité des cookies ...". L’avertissement s’affiche après que j’ai connecté phpmyadmin avant de modifier le fichier php.ini.

Vérifiez la version de php utilisée par le phpmyadmin. Vous devriez changer le fichier ini du php utilisé par le phpmyadmin. J'ai php5 et php (c'est-à-dire 7) tous deux installés. Mais mon phpmyadmin utilise php5. J'ai donc dû chercher un fichier ini de php5.

0
Rakesh Ranjan Das