Как изменить ограничение по времени в phpmyadmin (вход в систему) - PullRequest
15 голосов
/ 06 мая 2010

Я использую phpmyadmin для создания базы данных mysql. И я установил тип аутентификации в cookie в config.inc.php. Как изменить ограничение по времени, чтобы, даже если я вошел в систему, я не работал несколько часов, мне не потребовалось бы снова войти в систему.

Ответы [ 6 ]

39 голосов
/ 19 мая 2010

Я знаю, что этот вопрос стареет, но вышеприведенный «выбранный» ответ на самом деле не работает. Это просто устанавливает время, пока данные сессии будут удалены.

Попробовав это и поняв, что это не помогло, я потратил некоторое время на чтение документации phpmyadmin и обнаружил следующее:

$cfg['LoginCookieValidity'] = 86400;
$cfg['LoginCookieStore'] = 0;

В первой строке указывается время до автоматического выхода из системы. Эти значения должны быть установлены в вашей папке установки phpmyadmin, в файле config.inc.php.

Их вообще не было в моем файле, но после добавления их внизу все заработало правильно. Первая переменная определяет, как долго вы будете выходить из системы в секундах - я установил для себя 1 день. Вторая переменная - как долго длится cookie. 0 означает, что cookie сохраняется до тех пор, пока вы не закроете браузер.

Установка этих двух переменных даст желаемый эффект. Вы можете установить оба на какое-то безумное число и никогда не входить в систему, но это будет довольно небезопасно.

10 голосов
/ 14 апреля 2012

Быстрое решение для Ubuntu:


// редактировать php.ini и искать session.gc_maxlifetime
sudo vi /etc/php5/apache2/php.ini

// установить 24 часа
session.gc_maxlifetime = 86400


// редактировать config.inc.php и искать $cfg['LoginCookieValidity']
sudo vi /etc/phpmyadmin/config.inc.php

// установить 24 часа
$ cfg ['LoginCookieValidity'] = 86400;


// перезапустить веб-сервер
перезапуск службы sudo apache2

5 голосов
/ 20 февраля 2015

В моем случае (4.3.8) просто замените в config.inc.php cookie на config и добавьте 2 строки, как показано ниже:

/*
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['username'] = 'root'; //add this line
$cfg['Servers'][$i]['password'] = 'root'; //add this line
3 голосов
/ 01 мая 2015

Я наконец нашел трюки, предполагая, что у вас есть хотя бы версия 4.3.X:

Сначала войдите в phpMyAdmin, после входа нажмите Базы данных (расположены в верхнем меню)

Затем введите текст Создать базу данных , вставьте phpmyadmin и нажмите Создать (вы можете выбрать желаемую кодировку, это необязательно)

Когда база данных создана, щелкните по ней в списке (должен появиться вместе с другой базой данных)

щелкните по SQL и вставьте содержимое create_tables.sql , расположенное в вашем каталоге phpMyAdmin:

/phpMyAdmin-(yourversion)-all-languages/sql/create_tables.sql

При желании вы можете сбросить его в командной строке (терминале):

mysql phpmyadmin -u myMysqluser -pMypassword < create_tables.sql

Теперь все готово, откройте config.inc.php и раскомментируйте эти две строки:

$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';

Обратите внимание, что если вы не раскомментируете другие $ cfg ['Servers'] [$ i] , phpmyadmin вернет:

Хранилище конфигурации phpMyAdmin настроено не полностью, некоторые расширенные функции были отключены. Узнайте почему. Или же поочередно перейдите на вкладку «Операции» любой базы данных, чтобы настроить ее там.

Это всего лишь предупреждение относительно других доступных опций. (если они вам не нужны, пусть они комментируют)

Выйдите из системы и войдите снова в phpMyAdmin и перейдите в Настройки (находится в верхнем меню между импортом и репликацией) и нажмите Функции , вы увидите опция:

Login cookie validity

Где вы должны указать в секундах, срок действия куки.

Нажмите Применить и все готово, запись будет сохранена для этого пользователя в таблице pma__userconfig в ранее созданной базе данных (phpmyadmin), запись будет выглядеть так:

{"LoginCookieValidity":21600,"Server\/hide_db":"","collation_connection":"utf8mb4_unicode_ci"}

Если срок действия вашего куки (в секундах) больше, чем ваша session_gc_maxlifetime, phpMyAdmin выдаст предупреждение:

Ваш параметр PHP session.gc_maxlifetime ниже, чем cookie допустимость настроена в phpMyAdmin, поэтому ваш логин может истекает раньше, чем настроено в phpMyAdmin

session_gc_maxlifetime находится на вашем php.ini , измените его и перезапустите веб-сервер, если появится указанное выше предупреждение.

2 голосов
/ 17 августа 2014

Вы можете вообще отказаться от аутентификации cookie и использовать

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

в вашем config.inc.php файле, найденном в папке phpmyadmin.

Это позволит вам всегда оставаться на связи.

1 голос
/ 06 мая 2010

Глядя на это:

ini_set('session.gc_maxlifetime', '3600');

Согласно комментариям - вы можете найти его в файле php.ini или выполнить приведенный выше оператор в своем скрипте, где вы устанавливаете сессию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...