我有一个依赖于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可以从外部访问,但我不知道幕后发生了什么。
为我工作:
brew install libmemcached
brew install pkg-config
pecl install memcached
将所有问题都输入一遍
然后:
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