Maison développement back-end tutoriel php php session实现多级目录存放实现代码_php技巧

php session实现多级目录存放实现代码_php技巧

May 16, 2016 pm 07:59 PM
session répertoire à plusieurs niveaux magasin

当一个目录下有很多文件时,服务器的处理性能会变低,php默认的session仅仅存放在/tmp目录下,未进行分级,当有一定的访问量时,就存在性能问题了。

首先,修改 php.ini的 session.save_path 选项修改如下:
session.save_path = “2;/tmp/session” (去掉前面分号)
表示把session存放在 “/tmp/session” 目录下,并且分成 2 级子目录

一般情况下2级目录就够了,就能够处理相当大的访问量了

———————–

其他注释

session.hash_function = 0
; 生成SID的散列算法。SHA-1的安全性更高一些
; 0: MD5 (128 bits)
; 1: SHA-1 (160 bits)
; 建议使用SHA-1。

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源码文件中ext/session/mod_files.sh文件,可以辅助生成目录,就不用自己在写脚本了

#! /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
Copier après la connexion

设置为可执行之后,运行以下命令来创建哈希目录:
#cd /root/soft_install/php-5.3.5/ext/session
#./mod_files.sh /tmp/session 2 5

三个参数依次表示,存放路径, 几级目录,每个目录生成多少个目录(参考session.hash_bits_per_character)

另外需要注意修改 /tmp/session的权限,保证运行php的帐号有权限读写

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment définir le délai d'expiration de la session dans SpringBoot Session Comment définir le délai d'expiration de la session dans SpringBoot Session May 15, 2023 pm 02:37 PM

Comment définir le délai d'expiration de la session dans SpringBoot Session

Comment résoudre l'échec de la session Comment résoudre l'échec de la session Oct 18, 2023 pm 05:19 PM

Comment résoudre l'échec de la session

Solution au problème inter-domaines de session PHP Solution au problème inter-domaines de session PHP Oct 12, 2023 pm 03:00 PM

Solution au problème inter-domaines de session PHP

Quel est le délai d'expiration par défaut de la session PHP ? Quel est le délai d'expiration par défaut de la session PHP ? Nov 01, 2022 am 09:14 AM

Quel est le délai d'expiration par défaut de la session PHP ?

Que dois-je faire si la session php disparaît après l'actualisation ? Que dois-je faire si la session php disparaît après l'actualisation ? Jan 18, 2023 pm 01:39 PM

Que dois-je faire si la session php disparaît après l'actualisation ?

Comment créer des répertoires multi-niveaux à l'aide de la méthode File.mkdirs() en Java ? Comment créer des répertoires multi-niveaux à l'aide de la méthode File.mkdirs() en Java ? Nov 18, 2023 am 09:00 AM

Comment créer des répertoires multi-niveaux à l'aide de la méthode File.mkdirs() en Java ?

Comment lire et écrire correctement les données de session dans plusieurs fichiers en PHP Comment lire et écrire correctement les données de session dans plusieurs fichiers en PHP Mar 23, 2023 am 11:12 AM

Comment lire et écrire correctement les données de session dans plusieurs fichiers en PHP

Comment implémenter la connexion SMS dans l'application de session partagée Redis Comment implémenter la connexion SMS dans l'application de session partagée Redis Jun 03, 2023 pm 03:11 PM

Comment implémenter la connexion SMS dans l'application de session partagée Redis

See all articles