2012-12-08 36 views
6

好吧,到目前爲止我一直是googeling,並試圖找到超過6個小時的解決方案。通常我不會發布問題,因爲我覺得答案應該是可以找到的,但這裏什麼都不做。php_memcache.dll 64位wampserver無論是PHP 5.3.13或5.4.3

我需要使用實現了memcache類的PHP代碼。我使用wampserver 2.2作爲64位安裝,與Apache 2.2.2,PHP 5.4.3(安裝5.3.13太,看我是否可以修復它在該版本)和MySQL 5.5.24

我已經運行memcache服務與memcached-win64-1.4.4-14.zip link和memcached-1.2.6-win32-bin.zip link

我現在在一個點,從我得到的wampserver的反饋是在重新啓動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

這比我用其他選項得到的更多,大多數(或所有)結果我可以想出重定向到32位DLL(我無法使用,因爲我的WPS服務器是64位)或與錯誤的PHP版本或API版本(編譯日期?)..我不認爲我能夠編譯我自己的庫來解決這個問題。

我已經添加*延長= php_memcache.dll *爲兩個PHP版本和DLL文件都的php.ini文件已被放置到正確的PHP/php5.xx/EXT/WAMP的服務器的文件夾

我到目前爲止的假設是,我需要在2010年5月25日爲php 5.3.13編譯64位(x64)的php_memcache.dll。或者我需要安裝一個與26版編譯的binairy相匹配的php版本2009年6月。

難道你們中的任何一個人對我的特定困境有了解嗎?任何幫助將大大appriciated。

+3

試試這個http://www.mediafire.com/?8d3vd26z3fg6bf1 – escproxy

+0

一個與wampserver和我的配置,謝謝合作......但它仍然顯示了當IM訪問我的項目相同的錯誤: 致命錯誤:沒有找到類'Memcached'...任何想法如何解決這個問題?我已經在apache中啓用了該服務,啓用了現在顯示在php列表中的模塊,並重復重新啓動服務 – Erik

+0

hmm ...替換$ this-> cache = new Memcached;用$ this-> cache = new Memcache;似乎工作,因爲我現在可以訪問這些文件沒有致命錯誤,希望它們與eachother功能兼容 – Erik

回答

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應該可以正常工作。

2

基本上你需要符合你的PHP可執行文件的Memcache或Memcached庫。當我說匹配時,我不是說日期,而是代碼。舊的PHP不支持新的Memcache,反之亦然。

你可以嘗試爲你的PHP版本編譯一個特殊的文件(我嘗試了一次與其他庫並不好玩)。或者你可以找到一個版本的PHP,可以與一個版本的Memcache一起工作,但這個新的PHP也需要與你的Apache版本一起工作... ...

經過多年的玩,我剛剛放棄,只是用一個unix系統。現在我想到了PHP已經有了一個正確版本的Memcache ...所以你的錯誤可能只是你正在使用「新的Memcached();」而不是「新的Memcache();」

0

謝謝zzarbi!終於,我試過所有可能的dll,並且你提供的那個終於工作了,所有其他人都給了無效的Win32應用程序。

我的設置是WAMP的64位與Apache:2.4.4 MySQL的:5.6.12 PHP:5.4.12在Windows 8 64位