简体   繁体   English

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

[英]php_memcache.dll for 64 bit wampserver with either php 5.3.13 or 5.4.3

Okay, so far ive been googeling and trying to find a solution for over 6 hours. 好吧,到目前为止,我一直在googeling并试图找到一个超过6小时的解决方案。 normally i dont post questions because i feel the answer should be findable, but here goes nothing. 通常我不发布问题,因为我觉得答案应该是可以找到的,但这里什么都没有。

I need to work with PHP code that has implemented the memcache class. 我需要使用已实现memcache类的PHP代码。 I use wampserver 2.2 as 64 bit install, with apache 2.2.2, php 5.4.3 (installed 5.3.13 too, to see if i could fix it in that version) and mysql 5.5.24 我使用wampserver 2.2作为64位安装,使用apache 2.2.2,php 5.4.3(也安装5.3.13,看看我是否可以在该版本中修复它)和mysql 5.5.24

i have run the memcache service with both the memcached-win64-1.4.4-14.zip link and the memcached-1.2.6-win32-bin.zip link 我用memcached-win64-1.4.4-14.zip 链接和memcached-1.2.6-win32-bin.zip 链接运行了memcache服务

I am now at a point where the feedback from wampserver i get is the following when (re)starting the apache module -> mem_cache_module, using the answers from a similar thread on stackoverflow.com/questions/3894065/php-memcache-dll-vc6-x64), in combination with php 5.3.13 64 bit: 我现在正处于这样一个点,我得到的反馈来自(重新)启动apache模块 - > mem_cache_module,使用来自stackoverflow.com/questions/3894065/php-memcache-dll-上的类似线程的答案vc6-x64),结合php 5.3.13 64位:

PHP Startup: memcache: Unable to initialize module Module compiled with module API=20090626 PHP compiled with module API=20100525 These options need to match PHP启动:memcache:无法初始化模块使用模块API编译的模块= 20090626使用模块API编译的PHP = 20100525这些选项需要匹配

This is a lot further than i got with the other options, most (or all) results i can come up with seem to redirect to either a 32 bit dll (which i cant use since my wampserver is 64 bit) or with the wrong php version or api version (compilation date?) .. i do not think i am able to compile my own library to solve this. 这比我得到的其他选项要多得多,我可以想出的大多数(或所有)结果似乎重定向到32位dll(我不能使用,因为我的wampserver是64位)或者错误的php版本或api版本(编译日期?)..我不认为我能够编译自己的库来解决这个问题。

I have added *extension=php_memcache.dll* to both php.ini files for both php versions and the dll files have been placed into the correct php/php5.xx/ext/ folders of the wamp server 我已经为两个php版本的php.ini文件添加了* extension = php_memcache.dll *,并且已将dll文件放入wamp服务器的正确php / php5.xx / ext /文件夹中

my assumption so far is that i need the php_memcache.dll compilated for 64 bit (x64) for php 5.3.13 on the 25th of may, 2010. That or i need to install a php version matching the binairy compiled on the 26th of june, 2009. 到目前为止我的假设是我需要在2010年5月25日为php 5.3.13编译64位(x64)的php_memcache.dll。那或者我需要安装一个与6月26日编译的binairy相匹配的php版本,2009。

Do any of you have a soltion to my specific dillemma? 你们有没有解决我的具体困境? Any help will be greatly appriciated. 任何帮助都将受到极大的关注。

Basically you need Memcache OR Memcached Library that match your PHP Executable. 基本上你需要与PHP可执行文件匹配的Memcache或Memcached库。 When I say match I'm not speaking of date but of code. 当我说匹配时,我不是说日期而是代码。 The old PHP won't support new Memcache and vice-versa. 旧的PHP不支持新的Memcache,反之亦然。

You can try to compile a special one just for your version of PHP (I tried once with other libraries it's not fun). 您可以尝试为您的PHP版本编译一个特殊的版本(我尝试使用其他库一次并不好玩)。 Or you can find a version of PHP that would work with a version of Memcache but this new PHP will also need to work with your version of Apache... 或者您可以找到适用于Memcache版本的PHP版本,但是这个新的PHP也需要使用您的Apache版本...

After years of playing with that I just gave up and just used a unix system. 经过多年的努力,我放弃了,只使用了unix系统。

PS: Now that I think about it PHP already come with a correct version of Memcache... So your error may be just that you're using "new Memcached();" PS:现在我想起来PHP已经有了一个正确版本的Memcache ...所以你的错误可能只是你正在使用“新的Memcached();” instead of "new Memcache();" 而不是“新的Memcache();”

I tried all dlls and none worked but suddenly the one given in comment by falcontoast http://www.mediafire.com/?8d3vd26z3fg6bf1 did work. 我尝试了所有的dll,没有一个工作,但突然之间由falcontoast http://www.mediafire.com/?8d3vd26z3fg6bf1发表评论的那个确实有效。

Will be glad if it works for someone :). 如果它适用于某人,将会很高兴:)。

One must check architecture of the phpversion from phpinfo() and must use corresponding dll file. 必须从phpinfo()检查phpversion的体系结构,并且必须使用相应的dll文件。 Also the version for memcached service should be of same type. memcached服务的版本也应该是相同的类型。

Try following steps that might work for you. 尝试以下可能适合您的步骤。 Yes it did work for me when I almost gave up. 是的,当我几乎放弃时,它对我有用。

1 - Close all memcached services if any already running. 1 -关闭所有的memcached服务,如果任何已在运行。

2 - get this service memcached-win64-1.4.4-14(find it) and install it and then start.(the ways to install are already given out there). 2 - 获取此服务memcached-win64-1.4.4-14(找到它)并安装它然后启动。(已经给出了安装方法)。

3 - get the dll file in comment by falcontoast and put that in extension(ext) folder. 3 - 通过falcontoast获取评论中的dll文件,并将其放在extension(ext)文件夹中。

4 - do the changes in php.ini file. 4 - 在php.ini文件中进行更改。

5 - restart the wamp server(probably exit it and then again start it). 5 - 重新启动wamp服务器(可能退出它然后再次启动它)。

If everything is done properly, then the program given here https://commaster.net/content/installing-memcached-windows should work fine. 如果一切正常,那么这里给出的程序https://commaster.net/content/installing-memcached-windows应该可以正常工作。

Thank you zzarbi!! 谢谢zzarbi !! Freaking finally, I have tried all possible dll's out there and the one you provided finally worked, all others gave Invalid Win32 application. 最后吓坏了,我已经尝试了所有可能的dll,你提供的那个终于工作了,所有其他人都给了Invalid Win32应用程序。

My setup is Wamp 64 bit with Apache : 2.4.4 MySQL : 5.6.12 PHP : 5.4.12 on Windows 8 64bit 我的设置是使用Apache的Wamp 64位:2.4.4 MySQL:5.6.12 PHP:5.4.12在Windows 8 64位上

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM