View Single Post
  #1  
Old 22nd March 2012, 16:42
DAKz's Avatar
DAKz DAKz is offline
Senior Member
 
Join Date: Jul 2009
P2P
Posts: 380
Exclamation Installing Memcached on Windows 7 and Xampp
1a. Go to your php.ini file usually located in C:/xampp/php/php.ini
find this line:

Code:
;extension=php_memcache.dll
replace with

Code:
extension=php_memcache.dll
1b. If you cannot find this line simply add the following line to below where all the ;extension= lines.

Code:
extension=php_memcache.dll
2. Add the following to just below the new line

Code:
  1. [Memcache]
  2. memcache.allow_failover = 1
  3. memcache.max_failover_attempts=20
  4. memcache.chunk_size =8192
  5. memcache.default_port = 11211
3. Download the necessary php_memecache.dll file from the following location.

attention

Attention

For windows 7 I used the following file:





4. Unzip the php_memcache.dll file and put it into your php ext folder. Usually C:/xampp/php/ext/

5. Download memcached for windows here (make sure it’s the win32 binary):


6. Unzip and put the memcache.exe file into a desired directory (e.g. c:/memcached/)
7. Open command line in Windows Administrator Mode.
Click start, type in ‘Search programs and Files’ box, wait for the program cmd.exe to appear, right hand click on the icon and select run as administrator
8. Install the memcache service
Type the following into the command line

Code:
c:\memcached\memcached.exe -d install
If you dont get any errors it means it’s worked.
9. Start memcached
Type the following into the command line


Code:
  1. c:\memcached\memcached.exe -d start, or net start “memcached Server”
10. Restart Xampp Apache
11. Test Memcache
Create a php file and paste the following code. Then go to the page. If you do not see any errors then it has worked.


PHP Code:
<?php
  $memcache 
= new Memcache;
  
$memcache->connect('localhost'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_objectfalse10) 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);
  
?>
12. Just in case it doesn’t work: One other thing I did was to run the C:/memcached/memcached.exe file as administrator. This opens the ports on the windows firewall which might solve some problems.

You can verify if memcached is running by executing this in the command line:

Code:
wmic process get description, executablepath | findstr memcached.exe
  1. You should see a result list showing memcached.exe and its full path.
SUPER EASY WAY

Easiest way to tell if memache is running... Check task manager services tab, if its runing it will be listed, if its not, well....then it's not.

Click the image to open in full size.

I have included both files here to save so time and headaches

~Enjoy
Attached Files
File Type: zip memcached-1.2.6-win32-bin.zip (36.0 KB, 131 views)
File Type: zip php_memcache-2.2.6-5.3-vc9-x86.zip (44.3 KB, 99 views)
__________________

Last edited by DAKz; 22nd March 2012 at 17:19.
Reply With Quote
The Following User Says Thank You to DAKz For This Useful Post:
parallaxz71 (1st December 2012)