Hướng dẫn how many sessions can php handle? - php có thể xử lý bao nhiêu phiên?

Câu hỏi đơn giản: Có giới hạn số lượng Phiên PHP đồng thời không? Nếu một trang web có hơn 1000 người đăng nhập cùng một lúc, các phiên sẽ vẫn là cách được chấp nhận để lưu trữ các biến, hoặc một phương pháp khác sẽ được sử dụng?

Tôi cho rằng nó sẽ được xác định bởi máy chủ chứ không phải chính PHP (?), Vì vậy, không chỉ số lượng phiên mà cả kích thước của mỗi phiên sẽ tạo ra sự khác biệt, nhưng tôi không chắc chắn!

hỏi ngày 23 tháng 2 năm 2014 lúc 18:13Feb 23, 2014 at 18:13

Hướng dẫn how many sessions can php handle? - php có thể xử lý bao nhiêu phiên?

2

Tắt đỉnh đầu của tôi, nên có một số giới hạn:

  • ID ngẫu nhiên được tạo cho mỗi phiên có độ dài cố định, ERGO chỉ có một số ID ngẫu nhiên hạn chế có sẵn. .
  • Số lượng các tệp có thể được lưu trữ trong một thư mục duy nhất, bị giới hạn bởi hệ thống tập tin. Vì tất cả các phiên được lưu trữ dưới dạng tệp theo mặc định trong một thư mục duy nhất, cuối cùng bạn sẽ đạt được điều này.
  • Kích thước của đĩa mà dữ liệu phiên được lưu trữ.

Tôi không nghĩ rằng có bất kỳ giới hạn cứng nào khác về số lượng phiên. Tuy nhiên, tất cả các yếu tố này lớn hơn 1000. Hơn 1000 phiên vẫn có thể được xử lý hoàn hảo bởi các phiên dựa trên tệp PHP tiêu chuẩn. Nếu bạn nhận thấy đó đang gặp sự cố, bạn có thể trao đổi phần phụ trợ phiên một cách dễ dàng. Có trình xử lý phiên có thể cắm được cho các hệ thống lưu trữ dựa trên bộ nhớ hoặc cơ sở dữ liệu khác. Bạn có thể dễ dàng viết trình xử lý phiên của riêng bạn để làm bất cứ điều gì bạn muốn trong bất kỳ hình thức có thể mở rộng nào bạn cần. Bạn vẫn có thể tiếp tục sử dụng các chức năng phiên PHP tiêu chuẩn trong mã của mình.

Đã trả lời ngày 23 tháng 2 năm 2014 lúc 18:21Feb 23, 2014 at 18:21

lừa dối ♦ lừa dốideceze

499K81 Huy hiệu vàng720 Huy hiệu bạc867 Huy hiệu Đồng81 gold badges720 silver badges867 bronze badges


Sửa đổi một biến phiên PHP

Để thay đổi biến phiên, chỉ cần ghi đè lên nó:


Phá hủy một phiên PHP

Để xóa tất cả các biến phiên toàn cầu và phá hủy phiên, hãy sử dụng session_unset()session_destroy():

Các biến phiên giải quyết vấn đề này bằng cách lưu trữ thông tin người dùng sẽ được sử dụng trên nhiều trang (ví dụ: tên người dùng, màu yêu thích, v.v.). Theo mặc định, các biến phiên kéo dài cho đến khi người dùng đóng trình duyệt.

Vì thế; Các biến phiên chứa thông tin về một người dùng duy nhất và có sẵn cho tất cả các trang trong một ứng dụng.

Mẹo: Nếu bạn cần lưu trữ vĩnh viễn, bạn có thể muốn lưu trữ dữ liệu trong cơ sở dữ liệu. If you need a permanent storage, you may want to store the data in a database.


Bắt đầu một phiên PHP

Một phiên được bắt đầu với chức năng session_start().

Các biến phiên được đặt với biến toàn cầu PHP: $ _Session.

Bây giờ, hãy tạo một trang mới có tên là "demo_session1.php". Trong trang này, chúng tôi bắt đầu một phiên PHP mới và đặt một số biến phiên:

Thí dụ

// Start the session
session_start();
?>


// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>


Chạy ví dụ »

Lưu ý: Hàm session_start() phải là điều đầu tiên trong tài liệu của bạn. Trước bất kỳ thẻ HTML. The session_start() function must be the very first thing in your document. Before any HTML tags.



Nhận các giá trị biến phiên PHP

Tiếp theo, chúng tôi tạo một trang khác có tên là "demo_session2.php". Từ trang này, chúng tôi sẽ truy cập thông tin phiên chúng tôi đặt trên trang đầu tiên ("demo_session1.php").

Lưu ý rằng các biến phiên không được truyền riêng cho mỗi trang mới, thay vào đó chúng được lấy từ phiên chúng tôi mở ở đầu mỗi trang (session_start()).

Cũng lưu ý rằng tất cả các giá trị biến phiên được lưu trữ trong biến $ _Session toàn cầu:

Thí dụ

session_start();
?>


// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".
";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>


Chạy ví dụ »

Chạy ví dụ »

Thí dụ

session_start();
?>


print_r($_SESSION);
?>


Chạy ví dụ »

Chạy ví dụ »

Một cách khác để hiển thị tất cả các giá trị biến phiên cho phiên người dùng là chạy mã sau:


Làm thế nào nó hoạt động? Làm thế nào để nó biết nó là tôi?

Hầu hết các phiên đặt khóa người dùng trên máy tính của người dùng trông giống như thế này: 765487CF34ERT8DEDE5A562E4F3A7E12. Sau đó, khi một phiên được mở trên một trang khác, nó sẽ quét máy tính cho một khóa người dùng. Nếu có một trận đấu, nó sẽ truy cập phiên đó, nếu không, nó sẽ bắt đầu một phiên mới.

Thí dụ

session_start();
?>


// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?>


Chạy ví dụ »


Chạy ví dụ »

Một cách khác để hiển thị tất cả các giá trị biến phiên cho phiên người dùng là chạy mã sau:

Thí dụ

session_start();
?>


// remove all session variables
session_unset();

Chạy ví dụ »
session_destroy();
?>


Chạy ví dụ »


Chạy ví dụ »



Php có thể xử lý bao nhiêu dữ liệu?

Về mặt lý thuyết, không có giới hạn (mặc dù tôi chưa bao giờ cố gắng phá vỡ nó hoặc thậm chí đẩy nó, chỉ cần chuyển sang một giải pháp hiệu quả hơn).Tuy nhiên, bạn sẽ bị giới hạn bởi không gian đĩa và php memory_limit ().Thông thường, dữ liệu được lưu trữ trong các phiên bao gồm những thứ như: tên người dùng.

Bạn có thể có PHP bao nhiêu biến phiên?

4 câu trả lời.Lưu câu trả lời này.Hiển thị hoạt động trên bài viết này.Như @thariama đã nói, không có giới hạn về số lượng biến;Ngoài ra, không có giới hạn về lượng dữ liệu bạn có thể lưu trữ trong một phiên (tôi đã thấy các phiên có kích thước hàng chục MB).there's no limit on the number of variables; also, there's no limit on the amount of data you can store in a session (I've seen sessions tens of MB in size).

Một phiên PHP có thể lớn như thế nào?

Đó là theo mặc định 64m hoặc 128m, phụ thuộc vào nhà cung cấp dịch vụ của bạn.Không nên xảy ra rằng dữ liệu phiên của bạn đến hoặc vượt quá giới hạn bộ nhớ PHP này.Điều này sẽ làm cho ứng dụng của bạn nặng.64M or 128M ,depends on your service providers. It should not happen that your session data comes or exceeds nearby to this php memory limit. This will make your application heavy .

Chúng ta có thể tạo nhiều phiên trong PHP không?

Câu trả lời là không".Bạn không thể bắt đầu nhiều phiên đồng thời.Và nếu bạn làm như vậy, bạn sẽ gặp một lỗi như "một phiên đã được bắt đầu".You cannot start multiple sessions simultaneously. And if you do, you'll get an error like "A session had already been started".