zoukankan      html  css  js  c++  java
  • php session目录无法写进数据的问题

    打算开启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 2
    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 >0
    HASH_BITS(session.hash_bits_per_charactor) should be one of 4, 5, or 6

    根据报错信息,可知还缺少一个参数要指定。

    查看php.ini文件:

    ; Define how many bits are stored in each character when converting
    ; the binary hash data to something readable.
    ; Possible values:
    ;   4  (4 bits: 0-9, a-f)
    ;   5  (5 bits: 0-9, a-v)
    ;   6  (6 bits: 0-9, a-z, A-Z, "-", ",")
    ; Default Value: 4
    ; Development Value: 5
    ; Production Value: 5
    ; 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 2 5

    session目录下,正常生成session文件了。

     

  • 相关阅读:
    多进程编程
    Python 的下载安装
    cnBlogs windows LIves Writes 安装
    第四章网页文字编排设计
    第三章网页图形图像设计
    第二章网页创意设计思维和方法
    1.3-1.4网页设计的定位和流程
    1.2网页设计的构成要素和特性
    网页编辑常用快捷方式+学习技巧+网站开发流程
    css选择器2——伪类选择器
  • 原文地址:https://www.cnblogs.com/hjqjk/p/5658385.html
Copyright © 2011-2022 走看看