PHP函数session_module_name到底是什么用的?

时间:2011-12-07 13:20:43

标签: php session

PHP会话相关函数有这个:session_module_name。文档只说:

  

session_module_name - 获取和/或设置当前会话模块

没有关于什么会话模块,可用的选项以及何时使用它们。

这个功能的目的是什么?

2 个答案:

答案 0 :(得分:6)

session_module_name定义会话的存储方式。您可以将此与session_set_save_handler结合使用来手动处理会话,例如,如果要从数据库保存/加载会话。快速搜索显示至少有3个模块

<?php
  session_module_name("files");  // ASCII files
  session_module_name("mm");     // Shared memory
  session_module_name("user");   // Custom session backend
?>

也许还有更多。如果session_module_name docs条目更有帮助,那就太好了。

答案 1 :(得分:3)

会话模块也称为&#34;保存处理程序&#34;。这些是PHP用来存储会话数据的机制。

除了使用session_module_name()之外,您还可以通过PHP7的新session_start()参数或php.ini配置它。这两种情况中使用的密钥分别为save_handlersession.save_handler。如上所述,默认存储是文件系统。

  

除了默认的&#34;文件&#34;存储,单个扩展可以注册自己的save_handler - 例如Memcache。注册处理程序可以通过参考您的phpinfo()输出按安装获得。 (manual source)

可以使用session_set_save_handler()创建自定义会话处理程序。