[phpMyAdmin] Fix lỗi phpMyAdmin không hoạt động với cơ chế session.save_handler trên dịch vụ khác

Fix lỗi phpMyAdmin không hoạt động với cơ chế session.save_handler trên dịch vụ khác.

Đối với hoạt động PHP trên server, cấu hình php.ini mình có cấu hình phương thức lưu trữ session php là ở dịch vụ “memcached” hoặc “redis” nhằm thay đổi phương thức lưu trữ thông tin session php.

session.save_handler = "memcache"
session.save_path = "tcp://localhost:11211"

hoặc

session.save_handler = "redis"
session.save_path = "tcp://localhost:6379"

 
Thì sẽ gặp một vấn đề nằm ở mã nguồn kết nối quản lý database phpMyAdmin hoàn toàn không có cơ chế hỗ trợ việc lưu session trên 2 dịch vụ “Caching Distribution” này. Dẫn đến việc bạn gặp phải lỗi 500 Internal Server Error, không thể sử dụng được phpMyAdmin. Log ví dụ trả về :

mod_fcgid: stderr: thrown in /var/www/html/phpMyAdmin/libraries/session.inc.php on line 104, referer: http://xxx.xxx.xxx.xxx/
mod_fcgid: stderr: PHP Fatal error: Uncaught exception 'RedisException' with message 'Connection closed' in [no active file]:0, referer: http://xxx.xxx.xxx.xxx/

 
Sau khi tìm hiểu thì kết luận cho đến thời điểm hiện tại mã nguồn phpMyAdmin không có cơ chế hỗ trợ việc lưu session trên các dịch vụ lưu trữ khác ngoài việc lưu thông tin session trên ổ đĩa (dạng file) hoặc database. Như thế, để fix lỗi này mà vẫn sử dụng cấu hình lưu trữ session php trên các dịch vụ ngoài cho hoạt động ứng dụng mã nguồn khác của mình thì ta sẽ chỉnh cơ chế lưu trữ session của phpMyAdmin về dạng lưu trữ trên ổ đĩa cơ bản, do phpMyAdmin mặc định sử dụng cấu hình global của php.ini .

Ta chỉnh sửa file “session.inc.php” của mã nguồn phpMyAdmin, bằng cách uncomment 1 dòng trong file này.

# vi /var/www/html/phpMyAdmin/libraries/session.inc.php
//ini_set('session.save_handler', 'files');

sửa thành

ini_set('session.save_handler', 'files');

 , tiếp đến thêm nội dung này vào đầu nội dung code file đó luôn.

ini_set('session.save_path', '/tmp');

 
Vậy thôi, giờ ta xài phpMyAdmin tẹt ga lại rồi nhé.

Previous article[Linux] Hướng dẫn liệt kê toàn bộ tác vụ cronjobs các user trên Linux
Next article[cPanel] Hướng dẫn cấu hình Database Mapping trên hệ thống cPanel bằng command-line
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !