PHP session_module_name 会话函数

  • 定义和用法

    session_module_name - 获取/设置会话模块名称
  • 版本支持

    PHP4 PHP5 PHP7
    支持 支持 支持
    7.2.0 不允许设置模块名称为 "user"。 在之前的版本中,如果设置为 "user",那么会被静默的忽略到。
  • 语法

    session_module_name ( [ string $module ] )
    
    session_module_name() 获取或设置会话模块名称
  • 参数

    参数 必需的 描述
    module 如果指定 module 参数,则使用 指定值作为会话模块。 禁止传入 "user" 作为此参数的值, 请使用 set_set_save_handler() 来设置用户自定义的会话处理器。
  • 返回值

    返回当前所用的会话模块名称。
  • 示例

    // NOTE: You must use this function before starting session with session_start(); to make it work properly
    session_module_name('memcache'); // or pgsql or redis etc
    
    // You'll need to define a save path also, if the module is other than files, like so:
    session_save_path('localhost:11211'); // memcache uses port 11211
    
    // or you can use multiple for load balancing:
    session_save_path('localhost:11211:41,otherhost:11211:60') // First part is hostname or path to socket, next is port and the last is the weight for that server
    
    //The function also returns the value of the current session module.
    echo session_module_name(); // will print memcache in our case
    
    // or maybe a check
    if(session_module_name() != 'memcache'){
      // Do something, throw an exception maybe
    }
    
  • 相关函数

    session_regenerate_id() - 使用新生成的会话 ID 更新现有会话 ID
    session_start() - 启动新会话或者重用现有会话
    session_set_save_handler() - 设置用户自定义会话存储函数