找不到类“Memcached”-(php 5.4.9,windows 7)

Posted

技术标签:

【中文标题】找不到类“Memcached”-(php 5.4.9,windows 7)【英文标题】:Class 'Memcached' not found-(php 5.4.9,windows 7) 【发布时间】:2015-06-12 09:31:09 【问题描述】:

我在我的 Windows 7(64 位机器)上安装了 php-5.4.9(32 位)并将其配置为作为 php-fpm 进程运行。我的 Web 应用程序需要 memcached,因此在我的 php\ext 文件夹中安装了 memcached 守护程序和必要的 dll 文件。但是当我尝试运行我的 web 应用程序文件夹时,我总是得到 Class Memcached not found 错误。我尝试了谷歌搜索,还提到了一些 ***,但找不到我的问题的解决方案。

有人可以帮我理解我做错了什么吗?


【问题讨论】:

在您的 Windows 机器上,您是否将 php 安装为 XAMPP 或 WAMP 或任何捆绑的网络服务器软件?您有多个引用 memcached 的 php 安装。既然你在你的 phpinfo() 中有 memcached,那么它肯定已经加载了,你不需要重新启动 apache。 我看到你的问题被标记为memcached 并且在标题中它说 Class 'Memcached' not found-(php 5.4.9,windows 7) 但是你说你得到 Class Memcache not found 错误,从phpinfo() 我们可以看到你启用了memcache。那么你真正使用的是哪一个? @mrun:对不起,我的错字。我已经更新了问题 @unixmiah:我安装了一个 XAMPP 服务器,我没有使用捆绑的 Apache Web 服务器。我已经单独安装了 nginx 并使用快速 cgi 连接到 php-fpm。 @Tojo Chacko:现在不是很明显吗?您缺少 memcached 扩展 :-) 请注意有 memcachememcached 扩展。更多信息here 【参考方案1】:

memcached PECL 扩展建立在libmemcached 之上,它具有libevent 要求。 memcache PECL 扩展是基于旧的 memcache 规范构建的,但不是基于任何库构建的。

memcache 可以在任何地方使用,但memcached 只能在 Linux/Mac OSX 上构建。

您可能能够构建memcached PECL 扩展,但目前不存在。

如果这是为了开发,也许像 Vagrant 这样的东西可以给自己一个 Linux 虚拟服务器。如果您以后要使用 Linux 服务器,这将允许您运行您的开发。

【讨论】:

是的,我已经知道了。我的 localbox 上不能有单独的 Linux VM 来运行我的 Web 应用程序。这就是我想在 Windows 上设置的原因。现在因为我别无选择,我没有在我的 localbox 上使用 Memcached。

以上是关于找不到类“Memcached”-(php 5.4.9,windows 7)的主要内容,如果未能解决你的问题,请参考以下文章

PHP memcached 致命错误:找不到类“Memcache”

在 Heroku 上找不到类“Memcached”

在 Laravel Elastic Beanstalk 应用程序中找不到类“Memcached”

找不到类“Memcache”和 PHP

Memcache 和 php:致命错误:在中找不到类“Memcache”

PHP 致命错误:找不到类 - PHPUnit