mysql - extender - phpmyadmin tiempo de sesion
phpmyadmin cierra sesión después de 1440 segundos (20)
En mi caja de desarrollo local Ubuntu 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.
Intenté cambiar $cfg[''LoginCookieValidity''] = 3600 * 9;
dentro de config.inc.php
pero todavía se agota en 1440 segundos.
He reiniciado todo y borré el caché del navegador (historial de Firefox -> Borrar historial reciente -> Caché -> Todo).
No estoy seguro de por qué el tiempo de espera aumentado no surte efecto. ¿Qué estoy haciendo mal?
Pasos para hacer esto usando la phpMyAdmin settings
sin ningún problema o requisitos para cambiar las configuraciones en php my.ini o definir el archivo .htaccess:
-
create_tables.sql
rutaphpmyadmin
y busquecreate_tables.sql
en una de sus subcarpetas (phpMyAdmin/sql/create_tables.sql
en mi versión 4.4.9) y ejecute todo el contenido de archivos en su sitio phpMyAdmin actual desde su navegador web. Esto creará una base de datos llamadaphpmyadmin
que puede mantener todas las opciones de phpMyAdmin guardadas permanentemente. - En
config.inc.php
de phpMyAdmin encuentra la línea comentada$cfg[''Servers''][$i][''pmadb''] = ''phpmyadmin'';
y descomentarlo (ahora phpMyAdmin usará esa base de datos personalizada que generamos en el paso anterior). - Vaya a
phpMyAdmin
desde el navegador web y vaya aServer >> Settings >> Features >> "Login Cookie Validity"
como en la imagen descrita por Pavnish y establezca el valor deseado. Ahora funciona.
Referencias : respuesta de Niccolas , almacenamiento de configuración PhpMyAdmin , respuesta de FlashMarks
1) Inicie sesión en phpMyAdmin 2) En la pantalla de inicio, haga clic en "Más configuraciones" (en la parte inferior central de la pantalla) 3) Haga clic en la pestaña / botón "Funciones" hacia la parte superior de la pantalla. 4) Durante 20 días configure la opción "Validar la validez de la cookie" en 1728000 5) Aplicar.
php xampp
=== método 1 con inicio de sesión http ===
[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
cada usuario tiene una configuración independiente y el procedimiento [webUI] tiene que repetirse para cada usuario
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 página principal, vaya a la configuración> funciones> advertencias> faltan las tablas de almacenamiento de configuración de phpMyAdmin> [actualizar] algunas veces hará que aparezca
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/
Debes reiniciar apache o httpd, no mysqld
sudo service httpd restart
o
sudo /etc/init.d/apache2 restart
Después de probar todos los métodos sugeridos y seguir desconectándome, comencé a escribir un pequeño usercsript para Tampermonkey porque ya tengo esa extensión. Es muy simple y simplemente envía una solicitud a uno de los scripts de bajo perfil 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);
})();
He encontrado la solución y la uso con éxito desde hace algún tiempo.
Simplemente instale este Addon en su navegador FF.
Luego recibirá otra advertencia: "Su parámetro de 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. Por lo tanto, tendremos que cambiar /etc/php.ini.
session.gc_maxlifetime = 43200
That’s 12 hours in seconds.
¡Reinicia tu servidor apache y listo!
fuente: http://birdchan.com/home/2011/06/06/phpmyadmin-timeout-after-1440-seconds/
esto funciona para mi! :)
Me funcionó después de que
cambió
$cfg[''LoginCookieValidity'']
en(phpmyadmin folder)/libraries/config.default.php
a999999999
.verificó el
php.ini
usado por phpmyadmin porphp5 -i | grep php.ini
php5 -i | grep php.ini
.fui al archivo
php.ini
cuya ruta obtuve de la salida del comando grep y cambié el valor de999999999
a999999999
.reinició el servidor. En mi caso fue
sudo service apache2 restart
.
Hecho. Ha iniciado sesión en phpmyadmin y comprobado la validez de las cookies en Configuración -> Funciones -> General -> Validez de la cookie de inicio de sesión. Era 999999999
. Además, no hubo ninguna advertencia "Su parámetro PHP session.gc_maxlifetime es menor que la validez de la cookie ...". La advertencia apareció después de iniciar sesión en phpmyadmin antes de cambiar el archivo php.ini
.
Verifique la versión de php utilizada por phpmyadmin. Debería cambiar el archivo ini del php utilizado por 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.
No está trabajando. La sesión de PHP expirará de todos modos después de 1440 segundos.
Cambio en PHP.ini
esto 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), entonces 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 de cron o algún otro método.
; Por ejemplo, el siguiente script sería el equivalente de
; estableciendo session.gc_maxlifetime a 1440 (1440 segundos = 24 minutos):
; cd / path / to / sessions; encuentra -cmin +24 | xargs rm
Para establecer cookies permanentemente, debes seguir algunos pasos
Goto-> /etc/phpmyadmin/config.inc.php archivo
agregue este código
$cfg[''LoginCookieValidity''] = <cookie expiration time in seconds >
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
Podemos cambiar la función de la sesión de tiempo de la cookie en:
Configuración-> Funciones-> General-> Validez de la cookie de inicio de sesión
Encontré la respuesta aquí ... No hay actividad en 1440 segundos; por favor inicie sesión de nuevo
Puede cambiar la función de sesión de tiempo de la cookie 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 de phpmMyAdmin, config.inc.php
en el directorio raíz de PHPMyAdmin. (El directorio raíz suele ser / etc / phpmyadmin /)
Después de localizar el archivo config.inc.php, busque la línea siguiente y ajústelo al valor de segundos que desea que phpmyadmin expire:
$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 a partir del ejemplo anterior.
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 posible que necesitemos establecer la session.gc_maxlifetime en el archivo de configuración php.ini
(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 durante cuánto tiempo es válida una cookie de inicio de sesión. Tenga en cuenta que la opción de configuración de 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:
- Si su servidor se colgó y no puede cargar su página de phpmyadmin, verifique su registro de Apache en /var/log/apache2/error.log. Si tiene un
PHP Fatal error: Call to a member function get() on a non-object in /path/to/phpmyadmin/libraries/Header.class.php
en la línea 135, luego haga unchmod 644 config.inc.php
. eso debería encargarse del error. - Luego 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 lasession.gc_maxlifetime
como se menciona arriba.
Si el parámetro $cfg[''LoginCookieValidity'']
no tiene efecto en el archivo config.inc.php
, intente deshabilitar la session.gc_maxlifetime
en el archivo php.ini poniendo 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 $cfg[''LoginCookieValidity'']
y session.gc_maxlifetime = 1440
comentando ambas salidas.
Entonces, phpMyAdmin ya no debería cerrar la sesión cuando esté inactivo. Funciona para mí en Windows. No olvide borrar la caché de su navegador y reiniciar su servidor web.
Si tiene la configuración de almacenamiento de configuración de phpmyadmin , la configuración se eliminará de su tabla phpmyadmin.pma__userconfig y anulará todo lo que tenga en config.inc.php. En esta tabla, a cada usuario de MYSQL se le puede asignar un conjunto diferente de configuraciones de phpmyadmin.
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 vida útil corta de las cookies es buena y buena para el servidor de desarrollo, no para su servidor de producción.
Ve a PHPMyAdmin en tu navegador
Configuración> Funciones> Cambiar el valor de la validez de la cookie de inicio de sesión> Guardar
cambio en el archivo php.in de wampicon / php / php
session.gc_maxlifetime = 1440
a
session.gc_maxlifetime = 43200
pasos para cambiar la caducidad de las cookies
paso 1: ir a la configuración de Phpmyadmin
paso 2: General
paso 3: validez de la cookie de inicio de sesión
paso 4: actualiza 1440 segundos de tiempo de caducidad de cookies predeterminado con tu nuevo valor