Laravel Valet中的站点找不到Memcache,但是我看到该进程正在运行-现在该怎么办?

时间:2019-05-02 04:49:51

标签: php memcached homebrew laravel-valet

我有一个依赖于Memcached的本地WP网站。自述文件中说:“使用memcached和PECL memcache扩展为WordPress对象缓存提供后备存储。”

据我所知,我的配置符合这些要求。但是,当我尝试访问该应用程序时,我得到:

Fatal error: Uncaught Error: Class 'Memcache' not found in. . .

我正在运行通过Homebrew安装的php 7.3和通过PECL安装的Memcached 3.1.3。 Memcached 3.1.3说它与php 7.3兼容,我遵循these instructions将Memcache添加为php服务器的扩展。如果我通过Homebrew启动php,则在运行ps -ef | grep -i memcached时可以看到Memcache进程,而在运行php --info | grep memcached\\.时会看到配置,但是,我无法通过我的代客应用或Telnet连接到Memcached 。

如果我通过Homebrew运行Memcached,则会得到一个不同的版本1.5.13,我认为它早于php 7.3。据我了解,Homebrew仅安装稳定版本。当Homebrew Memcache运行时,我可以通过Telnet连接,但不能通过代客应用连接。

Memcached的Homebrew安装有何不同?我认为Homebrew必须以某种方式使Memcache可以从外部访问,但我不知道幕后发生了什么。

1 个答案:

答案 0 :(得分:1)

为我工作:

brew install libmemcached
brew install pkg-config
pecl install memcached

按Enter输入所有问题

然后:

cd /usr/local/etc/php/7.3
sudo vim php.ini
[memcached]
extension=/usr/local/Cellar/php/7.3.5/pecl/20180731/memcached.so

根据您的系统替换路径零件

最后:

brew services restart php
php -m