Cách đặt thời gian hết hạn trong Laravel

Laravel Sanctum cung cấp một hệ thống xác thực dựa trên mã thông báo đơn giản phù hợp với mọi SPA, tích hợp ứng dụng di động và API. Sanctum cho phép mỗi người dùng ứng dụng của bạn tạo nhiều mã thông báo API cho tài khoản của họ. Các mã thông báo này có thể được cấp khả năng/phạm vi chỉ định hành động nào mà mã thông báo được phép thực hiện

Phiên là một cách để lưu trữ thông tin [ở dạng biến] được sử dụng trên nhiều Yêu cầu HTTP, để mô phỏng “trạng thái” trên các trang điều hướng

Laravel cung cấp nhiều trình quản lý phụ trợ phiên được truy cập thông qua API thống nhất, rõ ràng. Hỗ trợ cho các chương trình phụ trợ phổ biến như Memcached, Redis và cơ sở dữ liệu được bao gồm

Về thời gian chờ của phiên, bạn có thể tăng thời gian tồn tại của phiên trong Laravel bằng cách thực hiện một số điều chỉnh trong tệp session.php

Bạn cũng có thể đọc Cách thay đổi thời gian chờ của phiên PHP

Bạn có thể dễ dàng tăng thời lượng phiên trong phiên bản Laravel 5, Laravel 6, Laravel 7, Laravel 8 và Laravel 9

Một phiên làm việc trong Laravel kéo dài bao lâu

Theo mặc định, nó được đặt thành 120 phút [2 giờ]. Nếu bạn nhận xét hoặc xóa cài đặt phiên Laravel, phiên của bạn có thể hoạt động bình thường bằng cách sử dụng phiên được định cấu hình trong php config values

Thời gian chờ phiên hợp lý là gì

Một phiên không nên kéo dài hơn 30 phút. Bạn có thể đọc bài viết này để hiểu rõ hơn tại sao. Cách thay đổi thời gian chờ của phiên PHP

Đặt thời gian tồn tại của phiên Laravel

Tệp cấu hình phiên ứng dụng của bạn được lưu trữ tại config/session.php. Hãy chắc chắn xem xét các tùy chọn có sẵn trong tập tin này

Theo mặc định, Laravel được cấu hình để sử dụng trình điều khiển phiên tệp, trình điều khiển này sẽ hoạt động tốt cho nhiều ứng dụng. Nếu ứng dụng của bạn sẽ được cân bằng tải trên nhiều máy chủ web, thì bạn nên chọn một kho lưu trữ tập trung mà tất cả các máy chủ đều có thể truy cập, chẳng hạn như Redis hoặc cơ sở dữ liệu quan hệ

Tùy chọn cấu hình trình điều khiển phiên xác định nơi dữ liệu phiên sẽ được lưu trữ cho mỗi yêu cầu. Laravel xuất xưởng với một số trình điều khiển tuyệt vời

  • tệp - phiên được lưu trữ trong bộ lưu trữ/khung/phiên
  • cookie - phiên được lưu trữ trong cookie được mã hóa, an toàn
  • cơ sở dữ liệu - phiên được lưu trữ trong cơ sở dữ liệu quan hệ
  • memcached/redis - các phiên được lưu trữ trong một trong những cửa hàng dựa trên bộ nhớ cache nhanh này
  • dynamodb - phiên được lưu trữ trong AWS DynamoDB
  • mảng - các phiên được lưu trữ trong một mảng PHP và sẽ không được duy trì

Cài đặt phiên trọn đời sẽ được thực hiện theo cách tương tự mặc dù trình điều khiển phiên được định cấu hình

Nếu bạn muốn tăng hoặc giảm thời lượng phiên của mình thì bạn có thể dễ dàng thực hiện điều đó từ tệp cấu hình trong Laravel. Trong tệp config/session.php có tùy chọn phím lifetime để cài đặt thời gian tính bằng phút. Trong tệp cấu hình phiên, cũng có một số tùy chọn để đặt trình điều khiển, thời gian chờ, expire_on_close và mã hóa, v.v.

Cấu hình thời gian tồn tại của phiên cũng có thể được thực hiện bằng cách sử dụng tệp .env

SESSION_LIFETIME = 30

Còn về việc thiết lập thời gian tồn tại mãi mãi cho các phiên thì sao?

Vì vậy, nếu bạn muốn đặt thời gian 1 năm cho phiên hết hạn, bạn có thể tính số phút đại diện cho 1 năm, sau đó đặt giá trị này trong ____20_______ hoặc định cấu hình trực tiếp trong tệp ____17_______ bằng công thức

60 * 24 * 365 = 525600 // 1 year

Trong tệp .env

SESSION_LIFETIME = 525600

Trong tệp config/session.php

Chủ Đề