php session目录无法写进数据的问题
2024-09-26 21:26:51
打算开启php的session功能,并将session信息存到文件里。
修改php.ini,开启session功能:
#将session信息存到文件中
session.save_handler = files #开启二级目录存放session文件。如果不指定,会直接在/home/www/php-session/目录下存session文件,当session文件较多时,不方便查看文件,建议启用多级目录。
session.save_path = "2;/home/www/php-session/"
#启用cookies
session.use_cookies = 1
重启php-fpm服务。
发现,/home/www/php-session目录下还是没有session文件产生。
纠结了许久,才发现,php不会自动生成session的目录结构,因此session信息无法写进。需要借助源码包 ext/session 目录下的 mod_files.sh 脚本生成目录结构。
# sh ext/session/mod_files.sh /home/www/php-session
Usage: ext/session/mod_files.sh BASE_DIRECTORY DEPTH HASH_BITS
BASE_DIRECTORY will be created if it doesn't exist
DEPTH must be an integer number >
HASH_BITS(session.hash_bits_per_charactor) should be one of , , or
根据报错信息,可知还缺少一个参数要指定。
查看php.ini文件:
; Define how many bits are stored in each character when converting
; the binary hash data to something readable.
; Possible values:
; ( bits: -, a-f)
; ( bits: -, a-v)
; ( bits: -, a-z, A-Z, "-", ",")
; Default Value:
; Development Value:
; Production Value:
; http://php.net/session.hash-bits-per-character
; session.hash_bits_per_character = 5
在生产环境下,php官方推荐将 session.hash_bits_per_character 设置为5 。
去掉注释,修改为:session.hash_bits_per_character = 5
重启php-fpm服务。
重新生成session目录结构:
# sh ext/session/mod_files.sh /home/www/php-session
session目录下,正常生成session文件了。
最新文章
- 使用wget命令时发生错误
- Codeforces Round #342 (Div. 2)
- windows phone(成语典籍游戏开发)
- Sun Grid Engine (SGE)大型集群作业调度系统
- 我是面试官--";自我介绍";
- Captcha生成及使用
- MSP430矩阵及独立键盘
- 存储过程/游标/mysql 函数
- POJ_1064_Cable_master_(二分,假定一个解并判断是否可行)
- 可失败构造器(Failable Initializers)
- h5可预览 图片ajax上传 ,后台有点弱不知道数据怎么取,但是可以肯定数据上传成功了
- VS源码编译QuaZip(Windows下)
- C 运算符, 有符号数据运算,
- Java复习总结——数据类型
- EF Core中的多对多映射如何实现?
- Django-website 程序案例系列-18 多表跨表操作优化
- Linux vmstat
- android 巧用动画使您app风骚起来
- 如何让触摸事件穿透一个View
- Python 转义字符