• centos6下安装php7的memcached扩展


    安装php7的memcached扩展
    1.编译安装libmemcached-1.0.18
    wget https://launchpadlibrarian.net/165454254/libmemcached-1.0.18.tar.gz
    
    tar -zxvf libmemcached-1.0.18.tar.gz
    cd libmemcached-1.0.18
    ./configure --prefix=/usr/local/libmemcached --with-memcached
    make && make install
    
    
    2. 安装php-memcached扩展
    php使用memcache的扩展有两个,一个memcache,一个memcached,前者比较老,推荐使用第二个,我们这里以第二个为例:
    
    在github上找到适用于php7的分支(https://github.com/php-memcached-dev/php-memcached/tree/php7),同样使用wget下载zip压缩包,解压缩,进入目录,依次执行下列命令(其中php-config和libmemcached目录根据具体情况设定,可以使用whereis或者find来查找
    
    # 解压
    cd php-memcached-php7
    
    # 执行phpize会生成configure文件
    /usr/local/php/bin/phpize
    # 执行预编译
    ./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached --disable-memcached-sasl
    make
    make install
    
    
    [root@szxxlfhtest02t:/usr/local/src/php-memcached-php7]# /usr/local/php/bin/phpize
    Configuring for:
    PHP Api Version:         20151012
    Zend Module Api No:      20151012
    Zend Extension Api No:   320151012
    
    [root@szxxlfhtest02t:/usr/local/src/php-memcached-php7]# make install
    Libraries have been installed in:
       /usr/local/src/php-memcached-php7/modules
    
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the `-LLIBDIR'
    flag during linking and do at least one of the following:
       - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
         during execution
       - add LIBDIR to the `LD_RUN_PATH' environment variable
         during linking
       - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
       - have your system administrator add LIBDIR to `/etc/ld.so.conf'
    
    See any operating system documentation about shared libraries for
    more information, such as the ld(1) and ld.so(8) manual pages.
    ----------------------------------------------------------------------
    
    Build complete.
    Don't forget to run 'make test'.
    
    Installing shared extensions:     /usr/local/php-7.0.12_fpm/lib/php/extensions/no-debug-non-zts-20151012/
    
    
    修改php.ini的配置
    加上:extension_dir="/usr/local/php7.1/lib/php/extensions/no-debug-non-zts-20160303/"(每个人的路径可能不一样)
            extension = "memcached.so
    重启php-fpm
    
    3. 修改php.ini文件
    (php.ini文件具体位置可以通过phpinfo()函数来查看到),在php.ini文件之中加入下面这句:
    
    # vim /usr/local/php-7.0.12_fpm/lib/php.ini
    extension_dir="/usr/local/php-7.0.12_fpm/lib/php/extensions/no-debug-non-zts-20151012/"
    extension=memcached.so
    
    
    [root@szxxlfhtest02t:~]# php -m
    [PHP Modules]
    bz2
    calendar
    Core
    ctype
    curl
    date
    dba
    dom
    exif
    fileinfo
    filter
    ftp
    gd
    gettext
    hash
    iconv
    json
    ldap
    libxml
    mbstring
    mcrypt
    memcache
    memcached
    
    
    4.测试是否安装成功
    
    [root@szxxlfhtest02t:/data/www/vhosts/cmstest.chinasoft.com/httpdocs]# cat mem.php
    <?php
    
    $mem  = new Memcached(); //创建一个memcached对象  
    $mem->addServer('127.0.0.1',11211);    //连接memcached
    $mem->set("key","test");//设置一个变量到内存中,名称是key 值是test  
    $get_value = $mem->get('key'); //从内存中取出key的值  
    if($mem->getResultCode() == Memcached::RES_NOTFOUND)    //如果该名称的变量没有设置
    {
        echo 'not set!';
    }
    else
    {
        echo $get_value;     
    }
    
    
    ***************************
    
    [root@newcms:/data/www/cms/cmsx.chinasoft.com.wx/httpdocs/public]# cat /usr/local/nginx/conf/cms.d/cmsx.chinasoft.com.wx.conf 
    server {
            listen 80;
            server_name     cmsx.chinasoft.com.wx cmsx.chinasoft.com.wx.wx;
            access_log      /data/www/logs/nginx_log/access/cmsx.chinasoft.com.wx_access.log main ;
        access_log on;
            error_log       /data/www/logs/nginx_log/error/cmsx.chinasoft.com.wx_error.log ;
            root            /data/www/cms/cmsx.chinasoft.com.wx/httpdocs/public/;
            index           index.html index.shtml index.php ;
            include         rewrite.d/cmsx.chinasoft.com.wx.conf ;
        error_page  404 403              /404.html;    
        access_log on;
    
    
            #location / {
            #                expires -1;
            #                proxy_pass http://php_pool;
            #                include proxy_params;
            #}
    
        #location / {
            #        index  index.php index.html index.htm;
            #        try_files $uri $uri/ /index.php?$query_string;
            #}
    
            #location ~ .php$ {
            #        fastcgi_pass   unix:/tmp/php-cgi.sock;
            #        fastcgi_index  index.php;
            #        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            #        include        fastcgi_params;
            #}
        location / {
                    index index.php index.html index.htm;
    
                    if (!-e $request_filename) {
                            rewrite . /index.php last;
                    }
            }
            location ~ .php$ {
                    fastcgi_pass unix:/tmp/php-cgi.sock;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include fastcgi_params;
            }
    
    
    }
  • 相关阅读:
    eclipse部署
    jsp—eclipse配置
    虚拟路径和虚拟主机
    tomcat配置
    初来乍到K
    【转】https://和http://区别
    【转】编码格式
    【转】如何使用瑞萨E10A调试SH系列不带片内FLASH的单片机
    【转】UML
    软考_系统架构师
  • 原文地址:https://www.cnblogs.com/reblue520/p/9643572.html
Copyright © 2020-2023  润新知