用于64位wampserver的php_memcache.dll,带有php 5.3.13或5.4.3

时间:2012-12-08 13:51:50

标签: php memcached 64-bit wamp wampserver

好吧,到目前为止,我一直在努力寻找超过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模块时,来自wampserver的反馈是以下内容 - > mem_cache_module,使用来自stackoverflow.com/questions/3894065/php-memcache-dll-vc6-x64上的类似线程的答案,结合php 5.3.13 64位:

  

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

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

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

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

你们有没有解决我的具体困境?任何帮助都会受到极大关注。

3 个答案:

答案 0 :(得分:2)

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

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

经过多年的努力,我放弃了,只使用了unix系统。

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

答案 1 :(得分:2)

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

如果对某人有用,会很高兴。)。

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

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

1 - 如果任何已经在运行,请关闭所有 memcached服务。

2 - 获取此服务memcached-win64-1.4.4-14(找到它)并安装它然后启动。(安装方法已经在那里发布)。

3 - 通过falcontoast获取评论中的dll文件并将其放在extension(ext)文件夹中。

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

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

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

答案 2 :(得分:0)

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

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