Laravel/Lumen: 无法建立Memcached连接

3
我想在我的项目中使用缓存,打算使用Memcached。为此,我安装了Memcached。
当我输出phpinfo();时,我可以看到扩展存在。
然而,当我想要使用Cache::get()时,我会收到以下错误:

无法建立Memcached连接。

在我的.env文件中,我有以下值。
MEMCACHED_HOST=127.0.0.1
MEMCACHED_PORT=11211

我的php.ini文件中有以下memcached相关内容:

extension=memcached.so

现在怎么做才能成功使用memcached并建立连接呢?

2个回答

7

异常提示:

无法建立Memcached连接

这说明PHP Memcached“扩展”无法连接到Memcached。

请尝试安装以下内容:

sudo apt-get install memcached
sudo service memcached status

现在你已经准备好了!


4

您确定 memcached 本身正在运行吗?

sudo service memcached status

如果它已关闭,您需要启动它。


嗨,那可能就是这样了。不过,我正在使用Mac OS X。似乎它不认识service命令。而且,它也不认识memcached(可能是因为我没有正确设置路径)。在Mac OS X中,相当于service命令的是什么?或者只需要用sudo memcached status命令就可以了吗?换句话说,我需要哪个文件来实现这个功能?我只知道.so文件,但这些应该不是执行这个命令所需的正确文件,对吗? - Musterknabe
尝试运行 memcached -d -p 11211 -m 64 -c 1024 -P /var/run/memcached/memcached.pid - fire
很遗憾,我无法做到这一点。它告诉我“memcached:找不到命令”。memcached可执行文件位于哪里?它不是在这里,对吧?/Applications/XAMPP/xamppfiles/lib/php/extensions/no-debug-non-zts-20121212/memcached.so - Musterknabe
由于您正在使用XAMPP,根据文档,您应该在系统首选项中有一个面板,可以重新启动整个堆栈。 - Crembo
嗨,我通过使用homebrew安装memecaced来解决了这个问题。现在它可以工作了。非常感谢!看起来我还需要安装memcached,而不仅仅是扩展,这是正确的吗? - Musterknabe
是的,那是正确的,memcached是一个独立的程序。PHP扩展仅用于与其通信。 - fire

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接