我在这个问题上绞尽脑汁(它应该是直截了当的),但似乎无法找到解决方案,所以希望你们中的一个可以帮助我。我正在尝试使用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文件放在正确的目录
中答案 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。您使用的是哪种操作系统,以及如何安装它?