小编Ian*_*wis的帖子

PHP会话和memcacheD

大家都知道PHP上有两个memcache扩展:

  • 内存缓存
  • memcached的

您可以将PHP扩展的memcache用作PHP的session_handler,如下所示:

session.save_handler = memcache
session.save_path = "tcp://serv01:11211,tcp://serv02:11211,tcp://serv03:11211"
Run Code Online (Sandbox Code Playgroud)

或者您可以像这样使用memcached:

session.save_handler = memcached
session.save_path = "serv01:11211,serv02:11211,serv03:11211"
Run Code Online (Sandbox Code Playgroud)

但是如何将其他参数设置为memcached,例如:

  • Memcached的:: OPT_DISTRIBUTION
  • Memcached的:: OPT_RETRY_TIMEOUT
  • Memcached的:: OPT_CONNECT_TIMEOUT

在PHP中,我会这样做:

$cache = new Memcached();
$cache->addServer('serv01', 11211);
$cache->addServer('serv02', 11211);
$cache->addServer('serv03', 11211);
$cache->setOption(Memcached::OPT_HASH, Memcached::HASH_MD5);
$cache->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
$cache->setOption(Memcached::OPT_CONNECT_TIMEOUT, 150);
$cache->setOption(Memcached::OPT_RETRY_TIMEOUT, 0);
Run Code Online (Sandbox Code Playgroud)

但到目前为止,我还没有找到任何文档或示例,说明如何在session_handler使用这些变量时设置这些变量.

php apache memcached

16
推荐指数
1
解决办法
1万
查看次数

如何在多个Apache服务器上管理单个PHP5会话?

嗨,我必须从几个Web服务器检索数据.首先,我以用户身份登录我的网站.成功登录后,我必须从不同的Web服务器获取数据并显示.如何与多个服务器共享一个会话.我怎样才能做到这一点?

当我第一次登录时,创建保存在该服务器的临时文件夹中的会话和会话ID.当我尝试访问另一台服务器时,如何使用我登录时已创建的当前会话.有人可以建议解决方案吗?

php apache session multiserver

13
推荐指数
5
解决办法
2万
查看次数

标签 统计

apache ×2

php ×2

memcached ×1

multiserver ×1

session ×1