zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    P1005 矩阵取数
    [BZOJ2662][BeiJing wc2012]冻结
    [BZOJ1191]超级英雄Hero
    [bzoj1008] 越狱
    [bzoj1001]狼抓兔子 最小割
    网络流24题——负载平衡问题
    分形小山
    可并堆——左偏树、斜堆
    NOIP最优贸易
    洛谷P2073送花
  • 原文地址:https://www.cnblogs.com/hubing/p/3145702.html
Copyright © 2011-2022 走看看