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


Posted in PHP onFebruary 03, 2016

当一个目录下有很多文件时,服务器的处理性能会变低,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

设置为可执行之后,运行以下命令来创建哈希目录:
#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的帐号有权限读写

PHP 相关文章推荐
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
浅析php header 跳转
Jun 17 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
destoon实现调用自增数字从1开始的方法
Aug 21 PHP
php 删除cookie方法详解
Dec 01 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
使用PHP编写发红包程序
Jul 22 PHP
为你总结一些php信息函数
Oct 21 PHP
PHP读取文件内容的五种方式
Dec 28 PHP
php实现微信模拟登陆、获取用户列表及群发消息功能示例
Jun 28 PHP
浅谈php的TS和NTS的区别
Mar 13 PHP
PHP保留两位小数的几种方法
Jul 24 PHP
phpinfo() 中 Local Value(局部变量)Master Value(主变量) 的区别
Feb 03 #PHP
全新Mac配置PHP开发环境教程
Feb 03 #PHP
PHP的几个常用加密函数
Feb 03 #PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 #PHP
composer.lock文件的作用
Feb 03 #PHP
网页的分页下标生成代码(PHP后端方法)
Feb 03 #PHP
PHP Cookei记录用户历史浏览信息的代码
Feb 03 #PHP
You might like
PHP实现生成唯一编号(36进制的不重复编号)
2014/07/01 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
微信红包随机生成算法php版
2016/07/21 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
js 将图片连接转换成base64格式的简单实例
2016/08/10 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
JS数组交集、并集、差集的示例代码
2017/08/23 Javascript
JavaScript的数据类型转换原则(干货)
2018/03/15 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
基于Vue的延迟加载插件vue-view-lazy
2018/05/21 Javascript
Vue 路由 过渡动效 数据获取方法
2018/07/31 Javascript
JavaScript 中的无穷数(Infinity)详解
2020/02/13 Javascript
Python编程之序列操作实例详解
2017/07/22 Python
Python中的Socket 与 ScoketServer 通信及遇到问题解决方法
2019/04/01 Python
python3.6根据m3u8下载mp4视频
2019/06/17 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
django项目简单调取百度翻译接口的方法
2019/08/06 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python使用Word2Vec进行情感分析解析
2020/07/31 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
安全的后院和健身蹦床:JumpSport
2019/07/15 全球购物
俄罗斯在线购买飞机票、火车票、巴士票网站:Tutu.ru
2020/03/16 全球购物
银行会计职员个人的自我评价
2013/09/29 职场文书
自我鉴定的范文
2013/10/03 职场文书
《红军不怕远征难》教学反思
2014/04/14 职场文书
群众路线个人整改方案
2014/10/25 职场文书
文言文辞职信
2015/02/28 职场文书
个人求职自荐信范文
2015/03/06 职场文书
同学会演讲稿
2019/04/02 职场文书