PHP找不到保存处理程序memcache

时间:2010-10-30 07:49:11

标签: php apache memcached

我在这个问题上绞尽脑汁(它应该是直截了当的),但似乎无法找到解决方案,所以希望你们中的一个可以帮助我。我正在尝试使用php的memcache扩展来存储会话。

我正在运行MAMP并正确安装了扩展程序(我认为...当我执行phpinfo时会显示),正在运行守护程序并可以通过php连接到它,使用类似这样的东西:

$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die ("Could not connect");

所以我知道php可以与守护进程通信。问题是当我在php.ini中启用memcache会话存储并尝试执行session_start()时,它给出了一个错误,它“无法找到存储处理程序内存缓存”。这就是我的php.ini:

session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"

任何帮助都会非常感激=(

其他一些信息:

使用此处的说明安装:

http://lullabot.com/articles/setup-memcached-mamp-sandbox-environment

在OSX 1.6.4上,我把.so文件放在正确的目录

4 个答案:

答案 0 :(得分:9)

Memcached,而不是Memcache。与班级名称相同。

session.save_handler = memcached

编辑,因为OP表示这只是一个错字。

这里有一些类似的故事:
http://www.dotdeb.org/2008/08/25/storing-your-php-sessions-using-memcached/
http://phpslacker.com/2009/03/02/php-session-clustering-with-memcache/

当安装程序询问“启用memcache会话处理程序支持?”时,您是否说“是”?

如果不起作用,请尝试使用新的Memcached扩展(使用D)。它应该以某种方式更好。

答案 1 :(得分:5)

如果您想使用memcached代替memcache,请确保tcp://中没有session.save_path。因此,您应该从

修复session.save_path
session.save_path = "tcp://127.0.0.1:11211"

session.save_path = "127.0.0.1:11211"

答案 2 :(得分:5)

您可能仍需要安装PHP memcached扩展,例如yum install php55-pecl-memcached

答案 3 :(得分:0)

您需要启用memcache会话处理程序支持,然后安装php5-memcache。您使用的是哪种操作系统,以及如何安装它?