找不到类“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
扩展 :-) 请注意有 memcache
和 memcached
扩展。更多信息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”
在 Laravel Elastic Beanstalk 应用程序中找不到类“Memcached”