Làm cách nào để thay đổi thời gian đăng xuất tự động phpmyadmin?
Nó sẽ tự động đăng xuất sau 1440 giây, rất thấp đối với tôi. Làm cách nào để thay đổi tùy chọn hoặc xóa hoàn toàn yêu cầu đăng nhập?
Câu trả lời:
Tạo hoặc chỉnh sửa php.ini
tệp của bạn và đặt giá trị biến này trong đó:
session.gc_maxlifetime = 1440
Số nguyên tính bằng giây. 500000 giây là 5,7 ngày. Sau đó khởi động lại apache.
Thay đổi php.ini sẽ thay đổi thời lượng phiên cho tất cả các trang web đang chạy trên máy chủ. Để thay đổi nó chỉ cho PhpMyAdmin, hãy mở config.inc.php
và thêm:
$sessionDuration = 60*60*24*7; // 60*60*24*7 = one week
ini_set('session.gc_maxlifetime', $sessionDuration);
$cfg['LoginCookieValidity'] = $sessionDuration;
Trong PHPMyAdmin 4, điều này không còn xuất hiện trong tệp config.inc.php nữa. Thay vào đó, hãy truy cập PHPMyAdmin trong trình duyệt của bạn. Đảm bảo bạn đang ở cấp máy chủ cục bộ để xem liên kết Cài đặt. Sau đó đặt Cài đặt> Tính năng> Thay đổi giá trị 'Hiệu lực cookie đăng nhập'> Lưu
Your preferences will be saved for current session only. Storing them permanently requires phpMyAdmin configuration storage.
không:? Nhấp vào liên kết này và nó sẽ cung cấp cho bạn hướng dẫn để bật khả năng lưu trữ vĩnh viễn các thay đổi.
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ạn sẽ phải áp dụng câu trả lời của Ravinder Singh cũng như câu trả lời này.
Bạn có thể thay đổi tính năng phiên thời gian cookie tại giao diện web phpmyadmin
Settings->Features->General->Login cookie validity
HOẶC LÀ
Nếu bạn muốn thay đổi 'hiệu lực cookie đăng nhập' trong tệp cấu hình, hãy mở tệp cấu hình phpmMyAdmin, config.inc.php
trong thư mục gốc của PHPMyAdmin. (Thư mục gốc thường là / etc / phpmyadmin /)
Sau khi định vị config.inc.php, hãy tìm kiếm dòng bên dưới và đặt nó thành giá trị giây bạn muốn phpmyadmin hết thời gian:
['LoginCookieValidity']
Nếu bạn không thể tìm thấy dòng trên, chỉ cần thêm dòng sau:
$cfg['Servers'][$i]['LoginCookieValidity'] = <your_new_timeout>;
Ví dụ:
$cfg['Servers'][$i]['LoginCookieValidity'] = 3600 * 3;
Thời gian chờ được đặt thành 3 Giờ từ Ví dụ trên.
session.gc_maxlifetime
có thể giới hạn hiệu lực của phiên và nếu phiên bị mất, cookie đăng nhập cũng bị vô hiệu. Vì vậy, chúng ta có thể cần đặt session.gc_maxlifetime trong php.ini
tệp cấu hình (vị trí tệp là / etc / php5 /apache2/php.ini trong ubuntu).
session.gc_maxlifetime = 3600 * 3
$ cfg ['LoginCookieValidity']
Loại: số nguyên [số giây]
Giá trị mặc định: 1440
Xác định thời gian một cookie đăng nhập có hiệu lực. Xin lưu ý rằng tùy chọn cấu hình php session.gc_maxlifetime có thể giới hạn hiệu lực của phiên và nếu phiên bị mất, cookie đăng nhập cũng bị vô hiệu. Vì vậy, bạn nên đặt session.gc_maxlifetime ít nhất bằng cùng giá trị $ cfg ['LoginCookieValidity'].
GHI CHÚ:
PHP Fatal
error: Call to a member function get() on a non-object in
/path/to/phpmyadmin/libraries/Header.class.php
ở dòng 135, sau đó làm một chmod 644 config.inc.php
. điều đó sẽ quan tâm đến lỗi.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.
thì hãy thay đổi session.gc_maxlifetime
như đã đề cập ở trên.Chỉ dành cho cài đặt ĐỊA PHƯƠNG, bạn có thể xóa hoàn toàn đăng nhập và thời gian chờ - đây có vẻ là những gì bạn đang theo đuổi. Bằng cách thay đổi loại ủy quyền thành "config" và nhập tên người dùng và mật khẩu cơ sở dữ liệu của bạn vào tệp cấu hình, bạn sẽ tự động được đăng nhập. Thêm vào 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;
Tất nhiên nếu bạn làm điều này trên một máy chủ trên internet, một số chappy táo tợn sẽ xuất hiện và vui vẻ tải xuống tất cả mật khẩu của bạn và xóa trang web của bạn. Điều này chỉ dành cho một máy chủ phát triển chạy trên máy tính xách tay của riêng bạn.
Một cách dễ dàng hơn để tùy chỉnh phpmyadmin ngày nay là truy cập http://www.example.com/phpmyadmin/setup/ , lưu tất cả phần cài đặt của bạn cùng một lúc, nhấp vào lưu hoặc tải xuống ở dưới cùng, sao chép tệp được tạo vào thư mục gốc phpmyadmin, sau đó chmod nó. Bạn phải tắt quyền ghi ngay cả khi đó là máy chủ cục bộ vì phpmyadmin sẽ kiểm tra điều này trước khi cho phép bạn đăng nhập.
config.inc.php
Khám phá thư mục 'apps \ phpmyadmin4.5.2' trong thư mục wamp của bạn và mở tệp config.inc.php. Sau đó thêm dòng này dưới mã hiện có.
'$cfg['LoginCookieValidity'] = 3600 * 10; //login cookie validity extended upto 10 hours'.
Đó là tất cả...
Đối với phpMyadmin
5.0.2 chạy trên Ubuntu 18.04, tôi đã chỉnh sửa tệp như sau:
sudo nano /usr/share/phpmyadmin/libraries/classes/Config/Forms/User/FeaturesForm.php
tìm phương thức public static function getForms()
và thêm trường LoginCookieValidity
public static function getForms()
{
$result = [
'General' => [
'VersionCheck',
'NaturalOrder',
'InitialSlidersState',
'LoginCookieValidity', //Added this line if it missing
...........
}
lưu tệp và bây giờ bạn sẽ có thể thay đổi giá trị từ giao diện người dùng.
[Cài đặt -> Chung -> Tính năng -> Tính hợp lệ cookie đăng nhập]
Server:localhost -> Settings -> Features -> General -> Login cookie validity
Tôi có phpmyadmin 4.9.2. và cố gắng định cấu hình LoginCookieValidity, nhưng tôi tự động đăng xuất :( Nếu bạn sử dụng localhost, bạn có thể thử 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';
}