【问题标题】:How to store PHP Sessions in MYSQL database如何在 MYSQL 数据库中存储 PHP 会话
【发布时间】:2011-03-30 13:28:47
【问题描述】:

您好,我需要 session_set_save_handler() 的 php 类或函数列表

访问者太多,所以需要最快的代码。

附:我无法使用 Memcached,因为它没有安装在我的主机上

【问题讨论】:

标签: php mysql session


【解决方案1】:

这里的人很可能不会为您编写完整的 MySQL 会话处理程序。但这可能不是最好的解决方案:

您需要快速的东西吗?那么答案就是 Memcached。 另一种解决方案是将数据客户端存储在签名的 cookie 中。加密签名确保用户无法篡改 cookie 数据。但这当然仍会增加所需的带宽。


对于 memcached 解决方案,只需安装 memcached extension from PECL,然后在您的代码中启用 memcached 会话处理程序:

ini_set('session.save_handler', 'memcache');
ini_set('session.save_path', '...');

参见例如http://www.ducea.com/2009/06/02/php-sessions-in-memcached/ 用作“保存路径”。

【讨论】:

  • +1 用于存储与 Memcache 的会话。 AFAIK,在 php.net/session_set_save_handler 上有关于如何在 MySQL 中存储的示例代码,更不用说如果 Google 投入使用的话,还有很多示例 :)
  • 好的,但我以前没有使用过它。给一个好的手册的链接,或者也许有人可以给我例子
  • 用谷歌搜索“php mysql session”。这是一个这样的结果:tonymarston.net/php-mysql/session-handler.html
  • @ThiefMaster 我发现 Memcached 没有安装在我的主机上并且不能安装
  • many visitors so the fastest code is neededshared hosting 玩得不太好。
【解决方案2】:

如果您希望获得更高的速度并且可以实际访问硬件,那么您可能需要查看内存缓存。 Memcached 已经出现了,您可以将它用于会话。

【讨论】:

    猜你喜欢
    • 2015-10-09
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-05
    • 2017-12-13
    • 1970-01-01
    • 2013-06-10
    相关资源
    最近更新 更多