Як я можу змінити час автоматичного виходу з 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 у своєму браузері. Переконайтесь, що ви перебуваєте на рівні localhost, щоб побачити посилання Налаштування. Потім встановіть "Налаштування"> "Функції"> "Змінити значення" Термін дії файлів 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
як зазначено вище.Лише для встановлення LOCAL ви можете взагалі видалити логін та час очікування - це, здається, саме те, що вам потрібно. Змінивши тип авторизації на "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';
}