How to install memcache in WAMP?
I don't find any php_memche in php.ini
.
What do I do now?
@Ryan
thanks for your step, now memcache enabled in WAMP, i have cross checked in the PHPINFO as well. memcache is displaying.
i have tried below example memcache sample. but开发者_开发知识库 throwing error.
<?php
$memcache = new Memcache;
$memcache->connect('localhost:8085', 11211) or die ("Could not connect");
$version = $memcache->getVersion();
echo "Server's version: ".$version."<br/>\n";
$tmp_object = new stdClass;
$tmp_object->str_attr = 'test';
$tmp_object->int_attr = 123;
$memcache->set('key', $tmp_object, false, 10) or die ("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>\n";
$get_result = $memcache->get('key');
echo "Data from the cache:<br/>\n";
var_dump($get_result);
?>
Getting below notice error.
( ! ) Notice: Memcache::getversion() [memcache.getversion]: Server localhost:8085 (tcp 11211) failed with: Malformed version string (0) in C:\wamp\www\memcache\sample.php on line 7
What i missed...
Here are the steps that worked for me:
Needed Files
memcached.exe
Direct LinkMSVCP71.DLL
Windows DLL Filesfrom Microsoftmsvcr71.dll
php_memcache.dll
Working memcache for PHP 5.3.4 OR [REF] 5
Steps
- Copy
MSVCP71.DLL
,msvcr71.dll
toC:\windows\sysWOW64
- Copy
memcached.exe
intoC:\memcached
- Click Windows-Key
- Type: CMD
- press: Ctrl-Shift-Enter
- Choose
yes
- type:
C:\memcached\memcached.exe -d install
- type:
C:\memcached\memcached.exe -d start
- Copy
php_memcache.dll
toC:\wamp\bin\php\php5.3.4\ext
- Restart Apache using Wamp controls
- Enable WAMP -> PHP -> PHP Extensions -> php_memcache
If you are running 64 bit WAMP:
The common service and extensions will not work for you.
Install the 64 bit memcached service:
http://s3.amazonaws.com/downloads.northscale.com/memcached-win64-1.4.4-14.zip
And one of these php extensions (to match your php version):
Php 5.3: http://www.mediafire.com/download.php?o60feet9sw71six
Php 5.4: http://www.mediafire.com/download.php?8d3vd26z3fg6bf1
32bit version for Php 5.4: http://windows.php.net/downloads/pecl/releases/memcache/3.0.6/php_memcache-3.0.6-5.4-ts-vc9-x86.zip
I was stuck on this for a while so I decided to write my answer:
Step 1: download the right package that compatible with your PHP version and your wamp version (32bit or 64 bit) from this site:
Link for download site
I suggest you download the "Thread Safe" one.
Step 2: After you downloaded the package, you need to copy the php_memcache.dll
in to your extensions folder at: C:\wamp\bin\php\
{YOUR PHP VERSION}\ext
Step 3: Add the extensions value to your php.ini file
, to do this in the right place just search for another extension that is already installed like: extension=php_bz2.dll
and just copy paste it at the end of this sections (after all the "extension=")
extension=php_memcache.dll
Step 4: close and open up your WAMP (not restarting - close and open) and you done.
If you are having trouble now - just open the error log file (in the root directory) and check what is the error that you get there.
My error was that my WAMP was a 32 bit, and i have downloaded 64 bit memcache
This solve my problem, hope its helped.
Memcache is a PECL extension and not bundled with PHP. Start with the manual page for installation instructions.
Download site (not sure how official but on PHP.net)
Installing a PHP extension on Windows
to everyone having problems installing memcache for wamp here's how it worked for me.
- make sure you check you're phpinfo and look for "Compiler" mine shows MSVC9 (Visual C++ 2008) this is so you know if you download the dll for vc9 or vc6. also look for "Thread Safety" on phpinfo it shows enabled then you need to download the dll file that contains TS if disabled then you download the dll with the words NTS.
below is where you can find the dll's for the diffent php versions make sure the version you download matches you're version:
Make sure also you have 32 bit or 64 bit and you download it correctly
then extract the files into your windows/system32 if you're windows is 32 bit or the system folder for 64 bit on you're windows.
Also extract to you're wamp/bin/apache/bin and wamp/bin/you're_php_version/ext and also memcache.exe extract to this folder make sure you use memcached for 32 or 64 bit according to you're system.
Once you finish this then you run the you're windows command prompt as administrator then browse to the location of you're executable memcache and do the following:
step 1: memcache.exe -d install step 2: memcache.exe -d start
then on you're wampserver open the tray menu and go to the php menu and click php.ini make sure you add on you're extensions in case not listed there: extension=php_memcache.dll
restart you're wampserver and go to you're phpinfo and look for memcache if you see it then it's installed.
hope it helps
happy new year to all!
- Download memcache not memcached if you used windows.Download your php version wise (download link:https://pecl.php.net/package/memcache/3.0.8/windows)
- Copy php_memcache.dll to C:\wamp\bin\php\php5.3.4\ext
- Restart Apache using Wamp controls
- Enable WAMP -> PHP -> PHP Extensions -> php_memcache
Memcache is a PECL extension and not bundled with PHP.
This PECL extension is not bundled with PHP . Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: http://pecl.php.net/package/memcache.
Note:
It's possible to disable memcache session handler support.
The 'pecl install' option prompts for this (default is enabled)
however when compiling statically into
PHP the --disable-memcache-session configure option may be used.
It is very important to note when reading the information supplied by others on this page that there are two distinct memcache PHP implementations for the service "memcached".
1) pecl-memcache
2) pecl-memcached
This page is for the first, pecl-memcache.
If you are looking for pecl-memcached information, visit here:
http://www.php.net/manual/en/book.memcached.php
Because my edit got rejected, here is what worked for me, as a supplement, after installing memcache on windows:
Manually add the memcache configuration to the php.ini. NOTE: there might be two different php.ini's installed on your system. For me, modifying the one located in wamp64/bin/apache is the only one that worked:
extension=php_memcache.dll
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211
You may need to add the extension to the extension block;
Inspired from this thread.
精彩评论