zoukankan      html  css  js  c++  java
  • Memcache的客户端连接系列(四) PHP

    关键词: Memcached   PHP 客户端

    声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南。客户端连接方法通用,故摘抄过来分享给大家。

    PHP客户端

    RedHat系列:

    以CentOS7为例介绍PHP版本客户端的安装。Redhat、Fedora等系统也适用。

    1. 安装gcc-c++及make等编译组件。

      yum install gcc-c++ make

    2. 安装sasl相关包。

      yum install cyrus-sasl*

    3. 安装libmemcached。

      由于libmemcached库需要增加sasl认证参数,因此不能直接使用yum命令安装。

      wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

      tar -xvf libmemcached-1.0.18.tar.gz

      cd libmemcached-1.0.18

      ./configure --prefix=/usr/local/libmemcached --enable-sasl

      make && make install

       说明:

      安装libmemcached之前要完成gcc-c++、sasl相关组件的安装。否则会在编译过程中报错,报错问题解决后请执行make clean之后重新make。

    4. 安装php。

      yum install php-devel php-common php-cli

    5. 安装memcached客户端。

      注意运行configure配置安装时,增加开启sasl参数。

      wget http://pecl.php.net/get/memcached-2.1.0.tgz

      tar zxvf memcached-2.1.0.tgz

      cd memcached-2.1.0

      phpize

      ./configure --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl

      make && make install

    6. 增加php.ini配置。

      使用find或者locate命令找到php.ini文件。

      find / -name php.ini

      编辑该文件,增加以下两行:

      extension=memcached.so
      memcached.use_sasl = 1
       

    7. 测试连接。

      新增一个memcached.php文件,增加如下内容:

      <?php
          $connect = new Memcached; //声明一个Memcached连接
          $connect->setOption(Memcached::OPT_COMPRESSION, false); //关闭压缩
          $connect->setOption(Memcached::OPT_BINARY_PROTOCOL, true); //使用二进制协议
          $connect->setOption(Memcached::OPT_TCP_NODELAY, true); //关闭TCP网络延迟策略
          $connect->addServer('{memcached_instance_ip}', 11211); //此处填写实例ip和端口
          $connect->setSaslAuthData('{username}', '{password}'); //如果实例开启免密访问,则删除或者注释此行
          $connect->set("DCS", "Come on!");
          echo 'DCS: ',$connect->get("DCS");
          echo "
      ";
          $connect->quit();
      ?>
       

      保存后运行情况如下:

      [root@testphpmemcached ~]# php memcached.php 
          DCS: Come on!
      [root@testphpmemcached ~]# 
       

    debian系列

    以Ubuntu为例,安装步骤如下:

    1. 安装gcc及make等编译组件。

      apt install gcc make

    2. 安装php。

      推荐使用php5.x的版本,对sasl认证兼容性较好。

      按照如下步骤先添加php低版本的镜像源,然后安装php5.6以及php5.6-dev。

      apt-get install -y language-pack-en-base;

      LC_ALL=en_US.UTF-8;

      add-apt-repository ppa:ondrej/php;

      apt-get update;

      apt-get install php5.6 php5.6-dev;

      安装完成后,使用php -version,查看版本号为5.6,说明安装成功。

      root@dcs-nodelete:/etc/apt# php -version
      PHP 5.6.36-1+ubuntu16.04.1+deb.sury.org+1 (cli) 
      Copyright (c) 1997-2016 The PHP Group
       
       说明:

      如果需要卸载php,可使用如下命令:

      apt install aptitude -y

      aptitude purge `dpkg -l | grep php| awk '{print $2}' |tr " " " "`

    3. 安装sasl组件。

      apt install libsasl2-dev cloog.ppl

    4. 安装libmemcached。

      wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

      tar -xvf libmemcached-1.0.18.tar.gz

      cd libmemcached-1.0.18

      ./configure --prefix=/usr/local/libmemcached

      make && make install

       说明:

      安装libmemcached之前要完成gcc、sasl相关组件的安装。否则会在编译过程中报错,报错问题解决后请执行make clean之后重新make。

    5. 安装memcached客户端。

      首先安装zlib组件。

      apt install zlib1g.dev

      安装注意运行configure配置安装时,增加开启sasl参数。

      wget http://pecl.php.net/get/memcached-2.2.0.tgz;

      tar zxvf memcached-2.2.0.tgz;

      cd memcached-2.2.0;

      phpize5.6;

      ./configure --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl;

      make && make install;

    6. 增加pdo.ini配置。

      使用find命令找到pdo.ini文件。

      find / -name pdo.ini

      默认应该在/etc/php/5.6/mods-available路径下。编辑该文件,增加以下两行:

      extension=memcached.so
      memcached.use_sasl = 1
       

    7. 测试连接。

      新增一个memcached.php文件,增加如下内容:

      <?php
          $connect = new Memcached; //声明一个Memcached连接
          $connect->setOption(Memcached::OPT_COMPRESSION, false); //关闭压缩
          $connect->setOption(Memcached::OPT_BINARY_PROTOCOL, true); //使用二进制协议
          $connect->setOption(Memcached::OPT_TCP_NODELAY, true); //关闭TCP网络延迟策略
          $connect->addServer('{memcached_instance_ip}', 11211); //此处填写实例ip和端口
          $connect->setSaslAuthData('{username}', '{password}'); //如果实例开启免密访问,则删除或者注释此行
          $connect->set("DCS", "Come on!");
          echo 'DCS: ',$connect->get("DCS");
          echo "
      ";
          $connect->quit();
      ?>
       

      保存后运行情况如下:

      [root@dcs-nodelete ~]# php memcached.php 
          DCS: Come on!
      [root@dcs-nodelete ~]# 
  • 相关阅读:
    mariadb
    Linux下安装配置virtualenv与virtualenvwrapper
    配置安装源
    Redis哨兵
    Android 常用工具类之DeviceInfoUtil
    Android 常用工具类之RuntimeUtil
    android 中的几种目录
    listview 滑动以后设置最上面一行为整行展示
    Android 常用工具类之SPUtil,可以修改默认sp文件的路径
    android 在应用中切换语言
  • 原文地址:https://www.cnblogs.com/husterindg/p/9106232.html
Copyright © 2011-2022 走看看