【发布时间】:2011-12-07 13:20:43
【问题描述】:
PHP Session 相关函数有这个:session_module_name。文档只说:
session_module_name — 获取和/或设置当前会话模块
没有关于什么是会话模块、有哪些可用选项以及何时使用。
这个函数的目的是什么?
【问题讨论】:
PHP Session 相关函数有这个:session_module_name。文档只说:
session_module_name — 获取和/或设置当前会话模块
没有关于什么是会话模块、有哪些可用选项以及何时使用。
这个函数的目的是什么?
【问题讨论】:
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 文档条目能更有帮助就更好了。
【讨论】:
会话模块也称为“保存处理程序”。这些是 PHP 用来存储会话数据的机制。
除了使用session_module_name(),您还可以通过PHP7 的新session_start() 参数或php.ini 进行配置。这两种情况下使用的密钥分别是save_handler 和session.save_handler。如前所述,默认存储是文件系统。
除了默认的“文件”存储之外,个别扩展可以注册自己的 save_handlers - 例如 Memcache。通过参考您的
phpinfo()输出,可以在每个安装的基础上获取已注册的处理程序。 (manual source)
可以使用session_set_save_handler() 创建自定义会话处理程序。
【讨论】: