PHP找不到保存处理程序memcache

Jef*_*eff 3 php apache memcached

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

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

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

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

session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激=(

一些额外的信息:

使用此处的说明安装:

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

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

kij*_*jin 9

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

session.save_handler = memcached
Run Code Online (Sandbox Code Playgroud)

自OP以来编辑表明它只是一个错字.

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

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

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


小智 6

如果你想使用memcached的,而不是memcache,请确保你没有tcp://在你的session.save_path.所以你应该修复你session.save_path

session.save_path = "tcp://127.0.0.1:11211"
Run Code Online (Sandbox Code Playgroud)

session.save_path = "127.0.0.1:11211"
Run Code Online (Sandbox Code Playgroud)


Rob*_*e W 5

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