Jak mogę zmienić czas automatycznego wylogowania z phpmyadmin?
Wyloguje się automatycznie po 1440 sekundach, co jest dla mnie bardzo niskie. Jak mogę zmienić opcję lub całkowicie usunąć żądanie logowania?
Odpowiedzi:
Utwórz lub edytuj swój php.ini
plik i ustaw w nim wartość tej zmiennej:
session.gc_maxlifetime = 1440
Liczba całkowita jest w sekundach. 500000 sekund to 5,7 dnia. Następnie uruchom ponownie Apache.
Zmiana php.ini spowoduje zmianę czasu trwania sesji dla wszystkich stron internetowych działających na serwerze. Aby zmienić to tylko dla PhpMyAdmin, otwórz config.inc.php
i dodaj:
$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;
W PHPMyAdmin 4 nie pojawia się to już w pliku config.inc.php. Zamiast tego przejdź do PHPMyAdmin w swojej przeglądarce. Upewnij się, że jesteś na poziomie hosta lokalnego, aby zobaczyć łącze Ustawienia. Następnie ustaw Ustawienia> Funkcje> Zmień wartość „Ważność pliku cookie logowania”> Zapisz
Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.
? Kliknij łącze w tym, aby uzyskać instrukcje dotyczące włączenia możliwości trwałego przechowywania zmian.
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.
Będziesz musiał zastosować odpowiedź Ravindera Singha, a także tę.
Możesz zmienić funkcję sesji plików cookie w interfejsie internetowym phpmyadmin
Settings->Features->General->Login cookie validity
LUB
Jeśli chcesz zmienić `` ważność ciasteczka logowania '' w pliku konfiguracyjnym, otwórz plik konfiguracyjny phpmMyAdmin, config.inc.php
w katalogu głównym PHPMyAdmin. (Katalog główny to zwykle / etc / phpmyadmin /)
Po zlokalizowaniu pliku config.inc.php, wyszukaj poniższy wiersz i ustaw w nim wartość w sekundach, w których phpmyadmin ma przekroczyć limit czasu:
['LoginCookieValidity']
Jeśli nie możesz znaleźć powyższej linii, po prostu dodaj następujące:
$cfg['Servers'][$i]['LoginCookieValidity'] = <your_new_timeout>;
Na przykład:
$cfg['Servers'][$i]['LoginCookieValidity'] = 3600 * 3;
Limit czasu jest ustawiony na 3 godziny z powyższego przykładu.
session.gc_maxlifetime
może ograniczyć ważność sesji, a jeśli sesja zostanie utracona, plik cookie logowania również zostanie unieważniony. Dlatego może być konieczne ustawienie session.gc_maxlifetime w php.ini
pliku konfiguracyjnym (lokalizacja pliku to / etc / php5 /apache2/php.ini w systemie ubuntu).
session.gc_maxlifetime = 3600 * 3
$ cfg ['LoginCookieValidity']
Typ: integer [liczba sekund]
Wartość domyślna: 1440
Określ, jak długo plik cookie logowania jest ważny. Należy pamiętać, że opcja konfiguracji php session.gc_maxlifetime może ograniczyć ważność sesji, a jeśli sesja zostanie utracona, plik cookie logowania zostanie również unieważniony. Dlatego dobrym pomysłem jest ustawienie session.gc_maxlifetime przynajmniej na tę samą wartość $ cfg ['LoginCookieValidity'].
UWAGA:
PHP Fatal
error: Call to a member function get() on a non-object in
/path/to/phpmyadmin/libraries/Header.class.php
z linią 135, zrób chmod 644 config.inc.php
. to powinno zająć się błędem.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.
a następnie zmień session.gc_maxlifetime
jak wspomniano powyżej.Tylko w przypadku instalacji LOKALNYCH możesz całkowicie usunąć login i limit czasu - wydaje się, że właśnie tego szukasz. Zmieniając typ autoryzacji na „config” i wprowadzając nazwę użytkownika bazy danych i hasło w pliku konfiguracyjnym, następuje automatyczne zalogowanie. Dodaj do 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;
Oczywiście, jeśli zrobisz to na serwerze w Internecie, pojawi się jakiś bezczelny facet, który z radością pobierze wszystkie twoje hasła i usunie twoją witrynę. To jest przeznaczone dla serwera programistycznego działającego tylko na własnym laptopie.
W dzisiejszych czasach łatwiejszym sposobem dostosowania phpmyadmin jest przejście do http://www.example.com/phpmyadmin/setup/ , zapisanie wszystkich sekcji ustawień naraz, kliknięcie zapisz lub pobranie u dołu, skopiowanie wygenerowanego pliku do główny katalog phpmyadmin, a następnie chmod go. Musisz wyłączyć uprawnienia do zapisu, nawet jeśli jest to serwer lokalny, ponieważ phpmyadmin sprawdza to, zanim pozwoli ci się zalogować.
config.inc.php
Przeglądaj katalog „apps \ phpmyadmin4.5.2” w folderze wamp i otwórz plik config.inc.php. Następnie dodaj tę linię pod istniejącym kodem.
'$cfg['LoginCookieValidity'] = 3600 * 10; //login cookie validity extended upto 10 hours'.
To wszystko...
W przypadku wersji phpMyadmin
5.0.2 działającej na Ubuntu 18.04 edytowałem plik w następujący sposób:
sudo nano /usr/share/phpmyadmin/libraries/classes/Config/Forms/User/FeaturesForm.php
znajdź metodę public static function getForms()
i dodaj pole LoginCookieValidity
public static function getForms()
{
$result = [
'General' => [
'VersionCheck',
'NaturalOrder',
'InitialSlidersState',
'LoginCookieValidity', //Added this line if it missing
...........
}
zapisz plik, a teraz będziesz mógł zmienić wartość z poziomu interfejsu użytkownika.
[Ustawienia -> Ogólne -> Funkcje -> Ważność pliku cookie logowania]
Server:localhost -> Settings -> Features -> General -> Login cookie validity
Mam phpmyadmin 4.9.2. i spróbuj skonfigurować LoginCookieValidity, ale mam automatyczne wylogowanie :( Jeśli używasz localhost, możesz spróbować 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';
}