win7+php5.3.10下安装memcache (转)

因为升级到了5.3.10,所以之前的dll不能使用了,弄了好久,终于还是在老外的博客上找到了解决方法:

 (环境是win7+php5.3.10+win32)

 1、解压附件memcached到某个目录,本例中解压在F:

 2、解压附件中的memcached-win32-1.4.4-14.zip

 3、进入cmd,输入:

  F:memcachedmemcached-win32-1.4.4-14memcached.exe -d install

  回车

  F:memcachedmemcached-win32-1.4.4-14memcached.exe -d start

 4、解压php_memcache-php-5.3.10.0-r2-win32-vc9-standard.zip,并且复制到php5.3.10ext中(假设你使用的是WAMP集成环境,应该就是 wampinphpphp5.3.10ext)

 5、在php.ini中添加一行:”extension=php_memcache.dll

 6、重启apache,打开phpinfo就看到memcache了!

测试代码如下:

<?php
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
$memcache->set('mem_key', 'Hello Memcache!', 0, 180);
$val = $memcache->get('mem_key');
echo $val;
?>

 以下是该老外的博客原文:

After spending so much time trying to locate the information on the net i thought i'd share all the details on how to successfully run memcached on windows. As the information on the net changes from day to day i will be making available all the files in zip format at the end of this tutorial as they just work.

Capture-memcached1.PNG

First you need the software the latest ones can be found here or download the file at the bottom of this tutorial.

Memcached : http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available
PHP Memcached interface : http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/

Memcached

Create a directory in the root of your hard drive as follows C:memcached and place the file from the zip in it.
Open up a command prompt and navigate to the location of the files by typing in CD memcached
To install as a service type in memcached -d install
To start the service type in memcached -d start

Other usefull information regarding memcached.
To stop the service type in memcached -d stop
To uninstall the service type in memcached -d uninstall
To set memory limit (Default is 64MB) type in while memcache is running memcached -m 2048 this makes 2GB of cache avaiable.

While running memcache as a service your be unable to add the -m 2048 on the service start up.

Control Panel -> Administrative tools -> Services

Capture-m-s1.PNG

To add the extra memory allocation your need to edit the registry to add the information.

Run -> Regedit
HKEY_LOCAL_MACHINE -> SYSTEM -> CURRENTCONTROLSET -> SERVICES -> MEMCACHED
Add -m 2048 (The value i'm using is 2GB but pick what you wish to allocate) on the end of the imagepath.

Capture-memcache.PNG

If you now go back to the service section you should now see .

Capture-m-s2.PNG

If your not seeing this result a computer restart is required. You now have memcached running.

PHP Memcached interface

Unzip and place memcache.php on your server were your site files are located.

Other usefull information regarding PHP Memcached interface.
To access the interface your be asked for username and password details these are as follows.
Username : memcache
Password : password

If you edit the file in notepad you can change the password details on lines 21 -> 22.

PHP:
define('ADMIN_USERNAME','memcache');    // Admin Username
define('ADMIN_PASSWORD','password');      // Admin Password


If you don't wish to have a password comment out lines 35 -> 45 by placing // at the front of each line.

PHP:
//if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) ||
//          $_SERVER['PHP_AUTH_USER'] != ADMIN_USERNAME ||$_SERVER['PHP_AUTH_PW'] != ADMIN_PASSWORD) {
//            Header("WWW-Authenticate: Basic realm="Memcache Login"");
//            Header("HTTP/1.0 401 Unauthorized");
//
//            echo <<<EOB
//                <html><body>
//                <h1>Rejected!</h1>
//                <big>Wrong Username or Password!</big>
//                </body></html>
//EOB;
//            exit;


You also need to change the information on lines 28 -> 29 to reflect your system.

PHP:
$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'// add more as an array
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'// add more as an array


An working example is as such.

PHP:
$MEMCACHE_SERVERS[] = 'localhost:11211'// add more as an array
// $MEMCACHE_SERVERS[] = 'mymemcache-server2:11211'; // add more as an array


You should be able to view the interface at the address you placed the file http://mysite.com/memcache.php you should now see this.
However is won't work till the rest of the information is followed.

Capture-memcached1.PNG

PHP files

Check you php/ext/ folder for the file php_memcache.dll
If this file exists then all well and good if not add your php version from the zip file below which contains.

1. php_memcache-php-5.3.10.0-r1-win32-vc9-standard-fcgi
2. php_memcache-php-5.3.10.0-r2-win32-vc9-standard

Now that php-memcahce.dll has eather been located or added to your system find your php.ini file and add this code to the bottom.

Code:
[Memcache]
extension="php_memcache.dll"
memcache.allow_failover="1"
memcache.max_failover_attempts="20"
memcache.chunk_size="8192"
memcache.default_port="11211"
memcache.hash_strategy="standard"
memcache.hash_function="crc32"
session.save_handler="files"
session.save_path=""


Restart the server and memcache will be running check this by viewing your phpinfo().

Capture-php.PNG

Getting your sites to use the cache.

Some sites will require extra plugins to be installed for the memcache to start working. If your running a dynamic site like wordpress or others check if you require any additional plugins to activate this feature.

To activate the memcache feature in Xenforo add this code to your /library/config.php

PHP:
$config['cache']['enabled'] = true;
$config['cache']['frontend'] = 'Core';
$config['cache']['frontendOptions']['cache_id_prefix'] = 'xf_';
 
$config['cache']['cacheSessions'] = true;
 
$config['cache']['backend'] = 'Memcached';
$config['cache']['backendOptions'] = array(
    
'compression' => false,
    
'servers' => array(
        array(
            
// your memcached server IP /address
            
'host' => 'localhost',
 
            
// memcached port
            
'port' => 11211,
        )
    )
);


While your site is in use check back to your http://mysite.com/memcache.php You should see the hit's start to rise (refresh data).


Capture-m4.PNG


You now have a fully working version of memcache. :happy:

Files in the Zip

1. memcache.php - (PHP Memcached interface)
2. memcached-win32-1.4.4-14 - (Core windows program)
3. php_memcache-php-5.3.10.0-r1-win32-vc9-standard-fcgi - (php_memcache.dll)
4. php_memcache-php-5.3.10.0-r2-win32-vc9-standard - (php_memcache.dll)
5. php_ini.txt - (Text Document)
6. xenforo_config_php.txt - (Text Document)

老外原文:http://fixitwizkid.com/threads/installing-memcached-for-windows-on-apache-php-and-xenforo.8905/

附件在这里:http://files.cnblogs.com/whoknows/memcached.zip

原文地址:https://www.cnblogs.com/hubing/p/3145702.html