簡體   English   中英

可以回應SESSION的大小嗎?

[英]Can echo size of SESSION?

我不知道我的會話是否太大了。 有沒有辦法看到會話的大小。 謝謝,拉胡爾

$size_of_session_estimate = strlen( serialize( $_SESSION ) );

現在,這只是一個估計,因為序列化處理程序用於序列化會話,但它也不會太遠。

話雖這么說,除非你在會話中存儲了大量的數據,否則你可能不需要擔心這一點。

如果您使用的是Apache,請查看您的APACHE_ROOT/tmp文件夾並查找名為sess_***********文件。

否則從這里獲取腳本並使用array_size($_SESSION)調用它。 這可能與確切的值略有不同(取決於PHP模塊執行的壓縮/優化)。

這個:

echo strlen(session_encode());

將為您提供$ _SESSION使用的磁盤空間量(假設session.save_handler是默認值文件 ),因為session_encode()返回與存儲在會話文件中的字符串相同的字符串。

它還可以更好地指示所使用的內存量,因為session_encode()添加的元數據少於serialize()

在默認的Apache設置中,您可以看到存儲在磁盤上的會話數據:

session_write_close();
echo file_get_contents(sys_get_temp_dir() . 'sess_' . session_id());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM