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?
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.
Allez à PHPMyAdmin dans votre navigateur
Paramètres> Fonctions> Modifier la valeur de validité du cookie de connexion> Enregistrer
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/
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
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
$ 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:
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.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_maxlifetime
a mentionné ci-dessus.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
phpMyAdmin settings
sans aucun problème ni exigence pour changer les configurations dans php my.ini ou définir le fichier .htaccess: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.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).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
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! :)
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.
Vous devez redémarrer Apache ou httpd, pas mysqld
Sudo service httpd restart
ou
Sudo /etc/init.d/Apache2 restart
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.
Ç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
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 >
changement dans le fichier php.in de wampicon/php/php
session.gc_maxlifetime = 1440
à
session.gc_maxlifetime = 43200
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.
é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
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.
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);
})();
=== 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.
chaque utilisateur a un réglage indépendant et la procédure [webUI] doit être répétée pour chaque utilisateur
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
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.
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.