6

好的,到目前为止,我已经在谷歌上搜索并试图找到超过 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链接和 memcached-1.2.6-win32-bin.zip链接运行了 memcache 服务

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

PHP Startup: memcache: Unable to initialize module Module 编译的模块 API=20090626 PHP 编译的模块 API=20100525 这些选项需要匹配

这比我使用其他选项得到的要远得多,我能想到的大多数(或全部)结果似乎都重定向到 32 位 dll(我无法使用,因为我的 wampserver 是 64 位)或错误的 php版本或 api 版本(编译日期?).. 我不认为我能够编译我自己的库来解决这个问题。

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

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

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

4

3 回答 3

2

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

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

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

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

于 2013-02-06T08:21:51.583 回答
2

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

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

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

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

1 - 关闭所有已运行的memcached服务。

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

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

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

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

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

于 2015-08-04T14:53:37.253 回答
0

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

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

于 2014-04-08T19:55:45.807 回答