Lỗi bạn đang gặp trong phpMyAdmin có liên quan đến vấn đề quyền truy cập vào tệp phiên (session files) của PHP. Lỗi này thường xuất phát từ việc PHP không thể tạo hoặc ghi dữ liệu phiên vào tệp vì sự cấm truy cập. Dưới đây là hướng dẫn xử lý lỗi phpMyAdmin – Error during session start

Hướng dẫn xử lý lỗi phpMyAdmin – Error during session start

1. Trường hợp 1

Nếu bạn truy cập vào phpMyAdmin và gặp thông báo lỗi giống như ảnh và mô tả bên dưới. Thì thông báo này có nghĩa là bạn không thể tạo session php để phục vụ cho việc truy cập. Và vấn đề không tạo được session là do phân quyền mà thôi.

Cách xử lý rất đơn giản, bạn hãy thực hiện như sau

PhpMyadmin lỗi

Bạn hãy xem dòng thứ 3 của ảnh thông báo trên. Bạn sẽ thấy một đường dẫn path là /var/lib/php/session. Đây chính là thư mục lưu session php và bạn hãy phân quyền lại với lệnh sau.

  • Nếu bạn sử dụng webserver NGINX
chown -R nginx:nginx /var/lib/php/session
  • Nếu bạn sử dụng webserver APACHE
chown -R apache:apache /var/lib/php/session
  • Secure lại thư mục /var/lib/php/session
chmod 700 /var/lib/php/session
xử lý lỗi phpMyAdmin

Sau khi thực hiện xong thì bạn đã có thể truy cập vào phpMyAdmin rồi.

2. Trường hợp 2

Trường hợp này thông báo rất giống như Trường hợp 1. Nhưng nếu nhìn kỹ vào dòng thứ 2 bạn sẽ thấy thông báo là session_write_close: write failed: No space left on device (28). Thông báo này có nghĩa là không thể ghi session vào được vì dung lượng lưu trữ bạn đã hết. Có nghĩa là đã full disk rồi.

Sửa lỗi phpMyAdmin

Ở trường hợp này thì không có tài liệu hướng dẫn cụ thể, vì máy chủ bạn full rồi và cũng không biết full từ file hay thư mục nào. Nên bạn hãy kiểm tra và xóa bỏ những thư mục, file không cần thiết. Nếu tất cả đều là dữ liệu bạn hãy cân nhắc nâng cấp thêm dung lượng cho máy chủ.

Mình cũng không hướng dẫn bạn cách xóa, nhưng sẽ hướng dẫn bạn cách tìm file, thư mục đang chiếm dung lượng nhiều nhất như sau.

Mình thường sử dụng lệnh sau để tìm từ thư mục gốc /

cd / du -hsx -- * | sort -rh | head -10

Chú thích:

  • Lệnh cd /: Lệnh này sẽ di chuyển đến thư mục gốc
  • Lệnh thứ 2 sẽ tìm và in ra 10 thư mục đang chiếm dung lượng cao nhất

Khi đã xác định được thư mục chiếm nhiều dung lượng, bạn cứ cd vào từng thư mục đó và lặp lại Lệnh 2 để tìm tiếp. Sau đó xóa thư mục hoặc file không cần thiết để tiết kiệm dung lượng với lệnh rm -rf <tên file or thư mục cần xóa>

Kết luận

Vậy là sau khi xử lý xong, chúng ta có thể liệt kê ra các bước cần khắc phục như sau:

  1. Kiểm tra quyền truy cập tệp session:
    • Đảm bảo rằng PHP có quyền truy cập vào thư mục lưu trữ session (thường là /var/lib/php/session) và tạo, đọc, và ghi dữ liệu vào các tệp session.
    • Sử dụng lệnh ls -l /var/lib/php để kiểm tra quyền truy cập của thư mục session. Quyền truy cập phải cho phép PHP ghi vào thư mục này.
  2. Thay đổi quyền truy cập:
    • Nếu bạn thấy rằng quyền truy cập không đúng, bạn có thể sử dụng lệnh chmod để thay đổi quyền truy cập cho thư mục session. Ví dụ: sudo chmod 700 /var/lib/php/session.
    • Bạn cũng có thể thử cấp quyền truy cập cho user và group của web server (thường là www-data trên các hệ thống Linux dựa trên Apache) bằng cách chạy lệnh sau: sudo chown www-data:www-data /var/lib/php/session.
  3. Kiểm tra cấu hình PHP:
    • Đảm bảo rằng PHP được cấu hình để sử dụng đúng đường dẫn cho session.save_path. Bạn có thể kiểm tra tệp php.ini hoặc session.save_path trong tệp cấu hình phpMyAdmin (config.inc.php) để đảm bảo rằng nó trỏ đúng đường dẫn của thư mục session.
  4. Kiểm tra quyền sở hữu và quyền truy cập tệp session:
    • Đảm bảo rằng tệp phiên được tạo và sở hữu bởi người dùng và nhóm đúng (thường là www-data cho web server). Bạn có thể sử dụng lệnh ls -l /var/lib/php/session để kiểm tra quyền sở hữu.
  5. Khởi động lại máy chủ web và PHP:
    • Sau khi bạn đã thực hiện các thay đổi, hãy khởi động lại máy chủ web và PHP để áp dụng các thay đổi.

Chúc bạn thực hiện thành công.

Chat hỗ trợ
Chat ngay