《PHP學習:php session實現多級目錄存放實現代碼》要點:
本文介紹了PHP學習:php session實現多級目錄存放實現代碼,希望對您有用。如果有疑問,可以聯系我們。
PHP實戰當一個目錄下有很多文件時,服務器的處理性能會變低,php默認的session僅僅存放在/tmp目錄下,未進行分級,當有一定的拜訪量時,就存在性能問題了.
PHP實戰首先,修改 php.ini的 session.save_path 選項修改如下:
session.save_path = “2;/tmp/session” (去掉前面分號)
表示把session存放在 “/tmp/session” 目錄下,并且分成 2 級子目錄
PHP實戰一般情況下2級目錄就夠了,就能夠處理相當大的拜訪量了
PHP實戰―――――――C
PHP實戰其他注釋
PHP實戰session.hash_function = 0
; 生成SID的散列算法.SHA-1的平安性更高一些
; 0: MD5 (128 bits)
; 1: SHA-1 (160 bits)
; 建議使用SHA-1.
PHP實戰session.hash_bits_per_character = 4
; 指定在SID字符串中的每個字符內保留多少bit,
; 這些二進制數是hash函數的運算結果.
; 4: 0-9, a-f
; 5: 0-9, a-v
; 6: 0-9, a-z, A-Z, “-“, “,”
; 建議值為 5
PHP實戰――――――――C
PHP實戰php源碼文件中ext/session/mod_files.sh文件,可以輔助生成目錄,就不用本身在寫腳本了
PHP實戰
#! /bin/sh
if test "$2" = ""; then
echo "usage: $0 basedir depth"
exit 1
fi
if test "$2" = "0"; then
exit 0
fi
hash_chars="0 1 2 3 4 5 6 7 8 9 a b c d e f"
if test "$3" -a "$3" -ge "5"; then
hash_chars="$hash_chars g h i j k l m n o p q r s t u v"
if test "$3" -eq "6"; then
hash_chars="$hash_chars w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - ,"
fi
fi
for i in $hash_chars; do
newpath="$1/$i"
mkdir $newpath || exit 1
sh $0 $newpath `expr $2 - 1` $3
done
PHP實戰設置為可執行之后,運行以下命令來創建哈希目錄:
#cd /root/soft_install/php-5.3.5/ext/session
#./mod_files.sh /tmp/session 2 5
PHP實戰三個參數依次表示,存放路徑, 幾級目錄,每個目錄生成多少個目錄(參考session.hash_bits_per_character)
PHP實戰另外必要注意修改 /tmp/session的權限,保證運行php的帳號有權限讀寫
歡迎參與《PHP學習:php session實現多級目錄存放實現代碼》討論,分享您的想法,維易PHP學院為您提供專業教程。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/7589.html