[英]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.