Как я могу изменить время автоматического выхода phpmyadmin?
Он автоматически выйдет из системы через 1440 секунд, что для меня очень мало. Как я могу изменить опцию или полностью удалить запрос на вход?
Ответы:
Создайте или отредактируйте свой php.ini
файл и установите в нем это значение переменной:
session.gc_maxlifetime = 1440
Целое число выражается в секундах. 500000 секунд - это 5,7 суток. Затем перезапустите apache.
Изменение php.ini изменит продолжительность сеанса для всех веб-сайтов, работающих на сервере. Чтобы изменить его только для PhpMyAdmin, откройте config.inc.php
и добавьте:
$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;
В PHPMyAdmin 4 это больше не отображается в файле config.inc.php. Вместо этого перейдите в PHPMyAdmin в своем браузере. Убедитесь, что вы находитесь на уровне локального хоста, чтобы увидеть ссылку «Настройки». Затем установите Настройки> Функции> Измените значение «Срок действия cookie для входа»> Сохранить.
Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.
? Щелкните ссылку в нем, и вы получите инструкции по включению возможности постоянного хранения изменений.
Your PHP parameter session.gc_maxlifetime is lower than cookie validity configured in phpMyAdmin, because of this, your login will expire sooner than configured in phpMyAdmin.
Вам нужно будет применить ответ Равиндера Сингха, а также этот.
Вы можете изменить функцию сеанса cookie времени в веб-интерфейсе phpmyadmin
Settings->Features->General->Login cookie validity
ИЛИ
Если вы хотите изменить срок действия cookie для входа в систему в файле конфигурации, откройте файл конфигурации phpmMyAdmin, config.inc.php
в корневом каталоге PHPMyAdmin. (Обычно это / etc / phpmyadmin /).
Найдя config.inc.php, найдите строку ниже и установите для нее значение в секундах, в течение которого phpmyadmin должен тайм-аут:
['LoginCookieValidity']
Если вы не смогли найти указанную выше строку, просто добавьте следующее:
$cfg['Servers'][$i]['LoginCookieValidity'] = <your_new_timeout>;
Например:
$cfg['Servers'][$i]['LoginCookieValidity'] = 3600 * 3;
Таймаут установлен на 3 часа из приведенного выше примера.
session.gc_maxlifetime
может ограничить срок действия сеанса, и если сеанс будет потерян, файл cookie входа также станет недействительным. Итак, нам может потребоваться установить session.gc_maxlifetime в php.ini
файле конфигурации (расположение файла - / etc / php5 /apache2/php.ini в ubuntu).
session.gc_maxlifetime = 3600 * 3
$ cfg ['LoginCookieValidity']
Тип: целое число [количество секунд]
Значение по умолчанию: 1440
Определите, как долго действителен файл cookie для входа. Обратите внимание, что параметр конфигурации php session.gc_maxlifetime может ограничивать срок действия сеанса, и в случае потери сеанса файл cookie входа также становится недействительным. Поэтому рекомендуется установить для session.gc_maxlifetime как минимум то же значение, что и $ cfg ['LoginCookieValidity'].
НОТА:
PHP Fatal
error: Call to a member function get() on a non-object in
/path/to/phpmyadmin/libraries/Header.class.php
в строку 135, выполните a chmod 644 config.inc.php
. это должно устранить ошибку.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.
измените, session.gc_maxlifetime
как указано выше.Только для ЛОКАЛЬНЫХ установок вы можете полностью удалить логин и тайм-аут - похоже, это то, что вам нужно. Изменив тип авторизации на "config" и введя имя пользователя и пароль базы данных в файл конфигурации, вы автоматически войдете в систему. Добавить в config.inc.php
:
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
Конечно, если вы сделаете это на сервере в Интернете, какой-нибудь нахальный парень придет и радостно загрузит все ваши пароли и удалит ваш сайт. Это только для сервера разработки, работающего на вашем собственном ноутбуке.
В наши дни более простой способ настроить phpmyadmin - это перейти по адресу http://www.example.com/phpmyadmin/setup/ , сохранить все свои настройки за раз, нажать «Сохранить» или «Загрузить» внизу, скопировать созданный файл на свой корневой каталог phpmyadmin, затем chmod его. Вы должны отключить разрешение на запись, даже если это локальный сервер, поскольку phpmyadmin проверяет это, прежде чем позволит вам войти в систему.
config.inc.php
Изучите каталог apps \ phpmyadmin4.5.2 в папке вашего wamp и откройте файл config.inc.php. Затем добавьте эту строку под существующий код.
'$cfg['LoginCookieValidity'] = 3600 * 10; //login cookie validity extended upto 10 hours'.
Вот и все...
Для phpMyadmin
5.0.2, работающей в Ubuntu 18.04, я отредактировал файл следующим образом:
sudo nano /usr/share/phpmyadmin/libraries/classes/Config/Forms/User/FeaturesForm.php
найти метод public static function getForms()
и добавить поле LoginCookieValidity
public static function getForms()
{
$result = [
'General' => [
'VersionCheck',
'NaturalOrder',
'InitialSlidersState',
'LoginCookieValidity', //Added this line if it missing
...........
}
сохраните файл, и теперь вы сможете изменить значение из пользовательского интерфейса.
[Настройки -> Общие -> Функции -> Срок действия cookie для входа]
Server:localhost -> Settings -> Features -> General -> Login cookie validity
У меня phpmyadmin 4.9.2. и попробуйте настроить LoginCookieValidity, но у меня есть автоматический выход :( Если вы используете localhost, вы можете попробовать https://docs.phpmyadmin.net/en/latest/config.html#example-for-ip-address-limited-autologin
if ($_SERVER["REMOTE_ADDR"] == "127.0.0.1") {
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
$cfg['Servers'][$i]['auth_type'] = 'cookie';
}