0

我一直在考虑为我的 PHP 应用程序创建自己的会话处理程序,仅仅是因为我想将会话数据存储在 MySQL 内存表中,而不是本地文件系统中。

我这样做有 4 个主要原因。

  1. MySQL 服务器是本地的,因此从内存中读取会更快。
  2. 能够列出活跃用户
  3. 使管理员无需登录和注销即可轻松读取和修改用户会话。
  4. 能够在会话超时或会话中的用户“空闲”变量后运行脚本。

我似乎找不到任何简单的方法来做到这一点。

我可以使用 memcached,但它会导致服务器内存中的会话数据增加一倍。

有谁知道一种简单的方法,在运行时强制 PHP 使用 MySQLi 资源作为会话存储?

4

1 回答 1

1

实际上,Mysql 提供了一个 memcache 接口,它首先使用内存,然后可以持久化到真实的数据库表中。

在数据库服务器中创建表格后,可以通过 php.ini 简单地配置它(参见此处):

; when using the "memcache" extension:
session.save_handler=memcache
; when using the "memcached" extension:
; session.save_handler=memcached

session.save_path="tcp://localhost:11211"

您可以在此处使用 PHP 示例对其进行概述:

于 2012-12-24T13:52:04.987 回答