【问题标题】:php_memcache.dll for 64 bit wampserver with either php 5.3.13 or 5.4.3php_memcache.dll 用于 64 位 wampserver 与 php 5.3.13 或 5.4.3
【发布时间】:2012-12-08 13:51:49
【问题描述】:

好的,到目前为止,我已经在谷歌上搜索了 6 个多小时并试图找到解决方案。通常我不会发布问题,因为我觉得应该可以找到答案,但这里什么都没有。

我需要使用实现了 memcache 类的 PHP 代码。我使用 wampserver 2.2 作为 64 位安装,使用 apache 2.2.2、php 5.4.3(也安装了 5.3.13,看看我是否可以在该版本中修复它)和 mysql 5.5.24

我已经使用 memcached-win64-1.4.4-14.zip link 和 memcached-1.2.6-win32-bin.zip link 运行 memcache 服务

我现在正处于一个点,当(重新)启动 apache 模块 -> mem_cache_module 时,我得到的来自 wampserver 的反馈如下,使用 stackoverflow.com/questions/3894065/php-memcache 上类似线程的答案-dll-vc6-x64),结合php 5.3.13 64位:

PHP 启动:内存缓存:无法初始化模块 使用模块 API=20090626 编译的模块 使用模块 API=20100525 编译的 PHP 这些选项需要匹配

这比我使用其他选项更进一步,我可以提出的大多数(或全部)结果似乎重定向到 32 位 dll(我无法使用,因为我的 wampserver 是 64 位)或错误的 php 版本或 api 版本(编译日期?).. 我认为我无法编译自己的库来解决这个问题。

我已将 *extension=php_memcache.dll* 添加到两个 php 版本的 php.ini 文件中,并且 dll 文件已放入 wamp 服务器的正确 php/php5.x.x/ext/ 文件夹中

到目前为止,我的假设是我需要在 2010 年 5 月 25 日为 php 5.3.13 编译为 64 位 (x64) 的 php_memcache.dll。或者我需要安装与编译的二进制文件匹配的 php 版本2009 年 6 月 26 日。

你们中的任何人都对我的特定困境有解决方案吗?任何帮助将不胜感激。

【问题讨论】:

  • 那一个与 wampserver 和我的配置一起使用,谢谢......但是当我访问我的项目时它仍然显示相同的错误:致命错误:在......中找不到类 'Memcached' 任何想法如何解决这个问题?我已经在apache中启用了服务,启用了现在出现在php列表中的模块,并反复重启了服务
  • hmm ... 替换 $this->cache = new Memcached; $this->cache = new Memcache;似乎有效,因为我现在可以访问文件而不会出现致命错误,希望它们在功能上相互兼容
  • 注意有两个 memcache 库,一个名为“memcache”,一个名为“memcached”,后者是“更新”的。 “php_memcache.dll”用于内存缓存,“php_memcached.dll”用于内存缓存。这可以解释你的最后一个错误。

标签: php memcached 64-bit wamp wampserver


【解决方案1】:

我尝试了所有 dll,但没有一个可以工作,但突然间 falcontoast http://www.mediafire.com/?8d3vd26z3fg6bf1 在评论中给出的那个确实有效。

如果它适用于某人会很高兴:)。

必须从 phpinfo() 中检查 phpversion 的架构,并且必须使用相应的 dll 文件。此外,memcached 服务的版本应该是同一类型。

尝试以下可能对您有用的步骤。是的,当我几乎要放弃时,它确实对我有用。

1 - 如果 any 已在运行,则关闭 所有 memcached 服务。

2 - 获取此服务memcached-win64-1.4.4-14(找到它)并安装它然后开始。(安装方法已经给出)。

3 - 通过 falcontoast 获取注释中的 dll 文件并将其放入扩展(ext)文件夹中。

4 - 在 php.ini 文件中进行更改。

5 - 重新启动 wamp 服务器(可能退出它然后再次启动它)。

如果一切正常,那么这里给出的程序https://commaster.net/content/installing-memcached-windows 应该可以正常工作。

【讨论】:

    【解决方案2】:

    基本上,您需要与您的 PHP 可执行文件匹配的 Memcache 或 Memcached 库。当我说匹配时,我不是在说日期,而是在说代码。旧的 PHP 将不支持新的 Memcache,反之亦然。

    您可以尝试为您的 PHP 版本编译一个特殊的(我用其他库尝试过一次,它并不好玩)。或者您可以找到可以与某个版本的 Memcache 一起使用的 PHP 版本,但是这个新的 PHP 还需要与您的 Apache 版本一起使用...

    在玩了这么多年之后,我放弃了,只使用了一个 unix 系统。

    PS:现在我想起来 PHP 已经带有正确版本的 Memcache...所以你的错误可能只是你正在使用“new Memcached();”而不是“new Memcache();”

    【讨论】:

      【解决方案3】:

      谢谢扎比!!最后吓坏了,我已经尝试了所有可能的 dll,你提供的那个终于可以工作了,所有其他的都给了 Invalid Win32 application。

      我的设置是带有 Apache 的 Wamp 64 位:2.4.4 MySQL:5.6.12 PHP:在 Windows 8 64 位上的 5.4.12

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        • 2013-10-11
        • 2012-10-25
        • 2012-05-08
        • 1970-01-01
        • 2013-05-01
        相关资源
        最近更新 更多