phpmyadmin cierra la sesión después de 1440 segundos


134

En mi cuadro Ubuntu de desarrollo local, uso MySQL y phpmyadmin para trabajar con la base de datos.

Siempre que phpmyadmin esté inactivo durante 1440 segundos (24 minutos), la sesión expira. Pierdo mi lugar y tengo que iniciar sesión y comenzar de nuevo.

Traté de cambiar el $cfg['LoginCookieValidity'] = 3600 * 9;interior config.inc.phppero aún se agota en 1440 segundos.

He reiniciado todo y borrado el caché del navegador (historial de Firefox -> Borrar historial reciente -> Caché -> Todo).

No estoy seguro de por qué el aumento del tiempo de espera no tiene efecto. ¿Qué estoy haciendo mal?


55
Lo primero que me viene a la mente es: ¿reiniciaste el servidor web después de cambiar config.inc.php?
0xmtn

Sí, ejecuté este comando: sudo service mysql restart
sandeep

2
Si ha resuelto este problema, ¿puede publicar la solución aquí como respuesta? ;)
0xmtn

Para Ubuntu 18.04, acabo de editar el archivo /usr/share/phpmyadmin/libraries/config.default.php Cambio: $ cfg ['LoginCookieValidity'] = 1440
Ahmed Ismail

Respuestas:


199

Vaya a PHPMyAdmin en su navegador

Configuración> Funciones> Cambiar el valor de la validez de la cookie de inicio de sesión> Guardaringrese la descripción de la imagen aquí

NOTA : Tendrá que hacer esto por sesión.


55
Esta es la solución más rápida y fácil para este problema. ¡Debería ser la respuesta!
Pini Cheyni

14
No es una solución permanente. He intentado hacer esto, pero después de uno o dos días, se restablece nuevamente a 1440 segundos.
Rolen Koh

55
Esto solo funciona para la sesión actual. Incluso lo dice en la configuración.
Richard Duerr

44
no te olvides de actualizar la configuración de php.inisession.gc_maxlifetime = SAME_OR_BIGGER_VALUE_AS_PHPMYADMIN
Lukas Liesis

77
FYI: no es la mejor opción. Se guarda solo en la sesión actual
Abdulla Nilam

70

Agregue esta línea a /config.inc.php:

$cfg['LoginCookieValidity'] = 36000;

En /setup/lib/index.lib.php

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

Si aún no tiene un archivo .htaccess para su sitio phpMyAdmin, cree uno y agregue la siguiente línea para anular el tiempo de espera predeterminado de la sesión PHP:

php_value session.gc_maxlifetime 36000

No recomendaría alterar este valor en su archivo php.ini principal, ya que permitirá un tiempo de espera de sesión ridículamente largo para todos sus sitios PHP.

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


1
si puedo agregar a esto, también cambie en config.default.php línea 698 de $ cfg ['LoginCookieValidity'] = 1440; a $ cfg ['LoginCookieValidity'] = 36000;
mstation

1
en lugar de poner la primera línea en phpmyadmin/config.inc.phpphpmyadmin/conf.d
colóquela

55
También puede extender gc_maxlifetime agregando lo siguiente a su archivo config.inc.php (generalmente en el directorio / etc / phpmyadmin): ini_set ('session.gc_maxlifetime', '36000'); Esto también lo localizará en phpmyadmin y no afectará el período de recolección de basura de otros scripts PHP. Y, según la documentación, el archivo config.inc.php está destinado a alterar el comportamiento; consulte docs.phpmyadmin.net/en/latest/config.html . Por lo tanto, no se preocupe por la actualización de este archivo.
ReverseEMF

1
Acabo de intentar esto, y parece que el paso 2 no es necesario. Solo cambia el archivo de configuración y el cambio de .htaccess.
Andy Mercer el

Para Ubuntu 18.04 el archivo es/usr/share/phpmyadmin/libraries/config.default.php
Ahmed Ismail, el

52

Podemos cambiar la función de sesión de tiempo de cookies en:

Configuración-> Características-> General-> Validez de cookies de inicio de sesión

Encontré la respuesta aquí ... No hay actividad en 1440 segundos; por favor inicia sesión de nuevo

EDITAR:

Esta solución funcionará solo para la sesión actual, para cambiarla permanentemente:

abra config.inc.php en el directorio raíz phpMyAdmin.

carpeta de wamp: wamp \ apps \ phpmyadmin {versión} \ config.inc.php

ubuntu: / etc / phpmyadmin

agrega esta línea

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

Ejemplo

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

9
session.gc_maxlifetimeDebe cambiar en php.ini a un valor superior al predeterminado: 1440 también.
M Rostami

55
Esta respuesta es muy incompleta y no debería ser la que obtiene el mayor voto. El cambio a través de la configuración da la siguiente advertencia: "Sus preferencias se guardarán solo para la sesión actual. Almacenarlas de forma permanente requiere el almacenamiento de configuración de phpMyAdmin".
Fivedogit

@fivedogit aquí he colocado una respuesta más completa que funciona bien con respecto a esta respuesta.
Mojtaba Rezaeian

Tenga en cuenta que no puede establecer un valor mayor que 9223372036854775806 o dará como resultado un desbordamiento de enteros.
egdavid

23

Puede cambiar la función de sesión de tiempo de cookies en la interfaz web de phpmyadmin

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

O

Si desea cambiar la "validez de la cookie de inicio de sesión" en el archivo de configuración, abra el archivo de configuración phpmMyAdmin, config.inc.php en el directorio raíz de PHPMyAdmin. (El directorio raíz suele ser / etc / phpmyadmin /)

Después de localizar config.inc.php, busque la línea a continuación y configúrela en el valor de segundos que desea que phpmyadmin agote el tiempo de espera:

$cfg['LoginCookieValidity'] 

o

Agregue lo siguiente:

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

Por ejemplo:

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

El tiempo de espera se establece en 3 horas del ejemplo anterior.

session.gc_maxlifetimepodría limitar la validez de la sesión y si la sesión se pierde, la cookie de inicio de sesión también se invalida. Por lo tanto, es posible que necesitemos configurar session.gc_maxlifetime en el php.iniarchivo de configuración (la ubicación del archivo es / etc / php5 /apache2/php.ini en ubuntu).

session.gc_maxlifetime = 3600 * 3


Documentación de phpMyAdmin en LoginCookieValidity

$ cfg ['LoginCookieValidity']

Tipo: entero [número de segundos]
Valor predeterminado: 1440

Defina por cuánto tiempo es válida una cookie de inicio de sesión. Tenga en cuenta que la opción de configuración php session.gc_maxlifetime podría limitar la validez de la sesión y, si la sesión se pierde, la cookie de inicio de sesión también se invalida. Por lo tanto, es una buena idea establecer session.gc_maxlifetime al menos en el mismo valor de $ cfg ['LoginCookieValidity'].

NOTA:

  1. Si su servidor falla y no puede cargar su página phpmyadmin, revise su registro de apache en /var/log/apache2/error.log. Si llegaste PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.phpa la línea 135, entonces haz unchmod 644 config.inc.php . eso debería encargarse del error.
  2. A continuación, recibirá otra advertencia: 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.. luego cambie el session.gc_maxlifetime como se mencionó anteriormente.

16

Parece que hay una interfaz de usuario para cambiar las configuraciones de phpmyadmin Inicie apache y haga clic en el siguiente enlace

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


2
Este enlace lleva a la configuración de phpMyAdmin . Cambiar la configuración de la aplicación de trabajo a través de su script de instalación es un poco arriesgado, ¿no le parece?
trejder

13

Pasos para hacer esto phpMyAdmin settingssin problemas ni requisitos para cambiar las configuraciones en php my.ini o definir el archivo .htaccess:

  1. Vaya a su phpMyAdminruta de instalación (por ejemplo, / usr / share / phpMyAdmin / en mi centos7) y busque create_tables.sqlen una de sus subcarpetas ( phpMyAdmin/sql/create_tables.sqlen mi versión 4.4.9) y ejecute el contenido de todo el archivo en su sitio phpMyAdmin actual desde su navegador web. Esto creará una base de datos llamada phpmyadminque puede mantener todas sus opciones de phpMyAdmin guardadas permanentemente.
  2. En phpMyAdmin's config.inc.php(ubicado en / etc / phpMyAdmin / en mi servidor centos7) encuentre la línea comentada $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';y descomente (Ahora phpMyAdmin usará esa base de datos personalizada que generamos en el paso anterior).
  3. Pase phpMyAdminal navegador web y Server >> Settings >> Features >> "Login Cookie Validity"vaya a la imagen descrita por Pavnish y establezca el valor deseado. Ahora funciona.

Referencias : Respuesta de Niccolas , Almacenamiento de configuración de PhpMyAdmin , Respuesta de flashMarks


Esto no funciona en phpMyAdmin 4.8.3. Haciendo el complejo simple de nuevo. Recuerdo que antes de esta actualización (estaba usando 4.4 o más) todo funcionó bien a través del Servidor >> Configuración >> Características, como se dijo aquí. Ya no. El config.inc.php no viene con esa línea
luisfer

8

Luego recibirá otra advertencia: "Su parámetro PHP session.gc_maxlifetime es menor que la validez de la cookie configurada en phpMyAdmin, debido a esto, su inicio de sesión caducará antes de lo configurado en phpMyAdmin". Eso tiene sentido porque la sesión de php terminará primero de todos modos. Entonces necesitaremos cambiar /etc/php.ini.

session.gc_maxlifetime = 43200
Thats 12 hours in seconds. 

Reinicie su servidor apache y listo.

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

esto funciona para mi! :)


7

Debe reiniciar apache o httpd, no mysqld

sudo service httpd restart

o

sudo /etc/init.d/apache2 restart

Ahora he reiniciado Apache usando su comando ur (es decir, sudo /etc/init.d/apache2 restart), pero aún phpmyadmin cierra la sesión después de 1440 segundos.
sandeep

1
¿Ve el error " No hay actividad en 1440 segundos; vuelva a iniciar sesión " o simplemente se desconecta? Si se cierra la sesión de verificación session.gc_maxlifetimeen tu /etc/php.ini, ¿cuál es el valor de esta?
0xmtn

Sí, veo este mensaje: "No hay actividad en 1440 segundos; vuelva a iniciar sesión"
sandeep

1
Esto es muy extraño. ¿Puede configurar también session.gc_maxlifetime=3600*9en /etc/php.ini y reiniciar el servidor web y volver a intentarlo? Solo para una depuración más rápida, configure ambos ( session.gc_maxlifetimey $cfg['LoginCookieValidity']) en algo pequeño, por ejemplo, 50 (segundos) y luego reinicie el servidor web, borre el caché de su navegador e intente nuevamente.
0xmtn

¿Puedes aclarar cómo, reiniciar el servicio debería cambiar la configuración de cualquier cosa?
trejder

7

Simplemente aumente el tiempo de espera de la sesión phpMyAdmin, abra config.inc.php en el directorio raíz phpMyAdmin y agregue esta línea.

desde la ruta de la carpeta wamp wamp \ apps \ phpmyadmin4.0.4 \ config.inc.php

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

Ejemplo

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

Nota: la corta vida útil de las cookies está muy bien para el servidor de desarrollo, no para su servidor de producción.


7

1) Inicie sesión en phpMyAdmin 2) Desde la pantalla de inicio, haga clic en "Más configuraciones" (parte central de la pantalla para mí) 3) Haga clic en la pestaña / botón "Características" hacia la parte superior de la pantalla. 4) Durante 20 días establezca la configuración "Validez de cookie de inicio de sesión" en 1728000 5) Aplicar.

php xampp


6

Para configurar cookies permanentemente, debe seguir algunos pasos

Ir a /etc/phpmyadmin/config.inc.phparchivo

agrega este código

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

5

No está trabajando. La sesión PHP expirará de todos modos después de 1440 segundos.

Cambio en PHP.iniesto también:

session.gc_maxlifetime = 3600

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

Además, desde PHP.ini :

Si está utilizando la opción de subdirectorio para almacenar archivos de sesión

; (ver session.save_path arriba), luego la recolección de basura no

; suceder automáticamente Tendrás que hacer tu propia basura

; colección a través de un script de shell, entrada cron o algún otro método.

; Por ejemplo, el siguiente script sería el equivalente de

; configurando session.gc_maxlifetime en 1440 (1440 segundos = 24 minutos):

; cd / ruta / a / sesiones; encontrar -cmin +24 | xargs rm


5

cambio en el archivo php.in de wampicon / php / php

session.gc_maxlifetime = 1440

a

session.gc_maxlifetime = 43200

4

Si el parámetro $cfg['LoginCookieValidity']no tiene efecto en el config.inc.phparchivo, intente deshabilitarlo session.gc_maxlifetimeen el archivo php.ini colocando un punto y coma a la izquierda de esta manera:

; 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

O intente deshabilitar ambos $cfg['LoginCookieValidity']y session.gc_maxlifetime = 1440comentar ambos.

Entonces phpMyAdmin ya no debería cerrar sesión cuando está inactivo. A mí me funciona en Windows. No olvides borrar el caché de tu navegador y reiniciar tu servidor web.


casi lo olvido. Después de aplicar esos cambios, borre la memoria caché de su navegador y reinicie su servidor web. Salud.
Alex

Creo que, en realidad $cfg['Servers'][$i]['LoginCookieValidity'], no es lo $cfg['LoginCookieValidity']que debería establecerse, si tiene la configuración de muchos servidores de phpMyAdmin config.inc.php. Y no, comentar el $cfg['Servers'][$i]['LoginCookieValidity']no traerá ningún resultado, ya que este valor desaparece por defecto. Entonces, con este parámetro comentado o eliminado, phpMyAdmin parece estar volviendo a los 1440segundos predeterminados .
trejder

4

pasos para cambiar la caducidad de las cookies

Paso 1: ve a la configuración de Phpmyadmin

paso 2: general

Paso 3: validez de la cookie de inicio de sesión

Paso 4: actualice el tiempo de caducidad predeterminado de la cookie de 1440 segundos con su nuevo valor


3
funcionará solo para una sesión en particular después de eso, volverá a establecerse en los 1440 segundos
Naresh Dudhat


1

Después de probar todos los métodos sugeridos aquí y seguir desconectándome, comencé a escribir un pequeño usercsript para Tampermonkey ya que ya tengo esa extensión. Es muy simple y solo envía una solicitud a uno de los scripts de baja huella de PHPMyAdmin una vez por minuto. Aquí está el código:

// ==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étodo 1 con http login ===

[php.ini]
session.gc_maxlifetime = 86400

[config.inc.php]

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

=== método 2 con inicio de sesión de cookies ===

[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ótese bien

  1. cada usuario tiene una configuración independiente y el procedimiento [webUI] debe repetirse para cada usuario

  2. si "El almacenamiento de configuración de phpMyAdmin no está completamente configurado, algunas funciones extendidas se han desactivado. [Descubra por qué.]"

el enlace no aparece en la portada, vaya a configuración> características> advertencias> Faltan tablas de almacenamiento de configuración de phpMyAdmin> [actualizar] algunas veces lo hará aparecer


Formatee este fragmento correctamente. De lo contrario, es casi ilegible, a pesar de que el contenido parece prometedor.
Igor

0

He encontrado la solución y la he usado con éxito por algún tiempo.

Simplemente instale este complemento en su navegador FF.


3
Gran sugerencia, ya que todo el mundo usa Firefox ... Para que esto se marque como respuesta, al menos debería haber sugerido complementos para más de 1 navegador, ya que la mayoría de las personas normales usan un navegador decente como Google Chrome ...

55
Usar un complemento para un problema tan trivial y específico me parece abrumador.
saimiris_devel

1
Esto no responde la pregunta. Esta no debería ser la respuesta aceptada. Usted preguntaba: "No estoy seguro de por qué el aumento del tiempo de espera no tiene efecto". ¿Qué estoy haciendo mal?"
Philippe-André Lorin

Esta es una respuesta completamente irrelevante. ¿El usuario necesita cambiar la "respuesta seleccionada" o involucramos al moderador para que analice esto?
Estrella

0

Funcionó para mí después de que yo

  • cambió el $cfg['LoginCookieValidity']en (phpmyadmin folder)/libraries/config.default.phpa 999999999.

  • comprobado el php.iniutilizado por el phpmyadmin por php5 -i | grep php.ini.

  • fui al php.iniarchivo cuya ruta obtuve de la salida del comando grep y cambié el session.gc_maxlifetimevalor a 999999999.

  • reinició el servidor. En mi caso lo fue sudo service apache2 restart.

Hecho. Ingresé a phpmyadmin y verifiqué la validez de la cookie en Configuración -> Características -> General -> Validez de la cookie de inicio de sesión. Fue 999999999. Tampoco hubo advertencia "Su parámetro PHP session.gc_maxlifetime es menor que la validez de la cookie ...". La advertencia se mostró después de iniciar sesión en phpmyadmin antes de cambiar el php.iniarchivo.

Verifique la versión de php utilizada por phpmyadmin. Debe cambiar el archivo ini del php que usa phpmyadmin. Tengo php5 y php (es decir, 7) ambos instalados. Pero mi phpmyadmin usa php5. Así que tuve que buscar el archivo ini de php5.


0

Sé que esta es una publicación antigua, pero probé todas las soluciones que leí, incluidas las de esta página, pero no tuve suerte, y tuve suerte, así que la publico aquí.

Estoy ejecutando Ubuntu 17.10.

Archivé /etc/phpmyadmin/config.inc.php y reemplacé su contenido con el contenido de /usr/share/phpmyadmin/config.sample.inc.php.

entonces yo

 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.

Guardé el archivo y reinicié phpMyAdmin.

Seleccioné Servidor: localhost -> Configuración -> Características y cambié el valor de "Validez de cookie de inicio de sesión" a 86400 (24 horas). Tenga en cuenta que cualquier valor no predeterminado que especifique hará que el color de fondo de esta opción se vuelva amarillo, así que no se alarme. El valor debe ser menor o igual que el valor que usó en config.inc.php.

Guardé la configuración, salí y reinicié phpMyAdmin.

Finalmente, todos los mensajes desaparecieron. Mi sesión permanece activa según la configuración (todo el día en este caso), y mi configuración se recuerda.

Seguramente espero que esto ayude a alguien. Fue frustrante para mí tratar y resolver.


0

conduzca aquí su wamp instalado, luego vaya a wamp, luego a aplicaciones, luego a su carpeta de versión phpmyadmin, luego vaya a bibliotecas y luego edite el archivo config.default.php, por ejemplo

E: \ wamp \ apps \ phpmyadmin4.6.4 \ bibliotecas \ config.default.php

aqui tienes que cambiar

$ cfg ['LoginCookieRecall'] = verdadero;

a

$ cfg ['LoginCookieRecall'] = falso;

También puede cambiar el tiempo de la cookie para deshabilitar la recuperación de cookies

$ cfg ['LoginCookieValidity'] = 1440;

a

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

el mio es

 $cfg['LoginCookieValidity'] = 199000;

después de cambiar reinicie su servidor ingrese la descripción de la imagen aquí

También hay otro método, pero se restablece cada vez que reiniciamos nuestro servidor wamp y aquí está ese método también

inicie sesión en su tablero de instrumentos phpmyadmin, luego vaya a la configuración y luego haga clic en características y en la pestaña general verá La validez de la cookie de inicio de sesión coloca algo mayor que 14400, pero esto es válido hasta el próximo reinicio de su servidor.

ingrese la descripción de la imagen aquí


0

Para Ubuntu 18.04 acabo de editar el archivo /usr/share/phpmyadmin/libraries/config.default.php

Cambio: $cfg['LoginCookieValidity'] = 1440

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.