Memcache的客户端连接系列(四) PHP

关键词: Memcached   PHP 客户端

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

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 "\n";
        $connect->quit();
    ?>

    保存后运行情况如下:

    [[email protected] ~]# php memcached.php
        DCS: Come on!
    [[email protected] ~]# 

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,说明安装成功。

    [email protected]:/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 "\n" " "`

  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 "\n";
        $connect->quit();
    ?>

    保存后运行情况如下:

    [[email protected] ~]# php memcached.php
        DCS: Come on!
    [[email protected] ~]# 

原文地址:https://www.cnblogs.com/husterindg/p/9106232.html

时间: 2024-10-13 15:27:05

Memcache的客户端连接系列(四) PHP的相关文章

redis学习教程四《管理、备份、客户端连接》

redis学习教程四<管理.备份.客户端连接> 一:Redis服务器命令 Redis服务器命令 下表列出了与Redis服务器相关的一些基本命令. 序号 命令 说明 1 BGREWRITEAOF 异步重写仅追加的文件 2 BGSAVE 将数据集异步保存到磁盘 3 CLIENT KILL [ip:port] [ID client-id] 杀死或断开指定的客户端的连接 4 CLIENT LIST 获取到服务器的客户端连接列表 5 CLIENT GETNAME 获取当前连接的名称 6 CLIENT P

oracle初体验四 PL/SQL Developer 不安装客户端连接远程oracle数据库

PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发.如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分.PL/SQL Developer侧重于易用性.代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势. 下载敏捷客户端 http://eduunix.ccut.edu.cn/index2/database/Oracle%20Instant%20Client/

微风IM 3.3 系列之二 服务器开始监听与客户端连接

通信框架为networkcomms2.3.1 服务器端监听代码: //从配置文件获取IP和端口 string strIP = System.Configuration.ConfigurationManager.AppSettings["IPAddress"]; int port = int.Parse(System.Configuration.ConfigurationManager.AppSettings["Port"]); IPEndPoint thePoint

So Easy! Oracle在Linux上的安装配置系列四

So Easy! Oracle在Linux上的安装配置系列四  监听器的配置 在创建了数库和各种数据库对象并装载了数据后,下一步是在数据库服务器与使用它的用户之间建立连 接,Oracle Net Services使这种连接成为可能.Oracle Net Services组件必须"存活"在客户机和服务器上,它们一般使用TCP/IP网络协议来建立客户机和数据库服务器之间的网络连接. 本文官方文档位置: http://docs.oracle.com/cd/E11882_01/network.

配置ORACLE 客户端连接到数据库

--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle 客户端连接到Oracle 数据库服务器貌似不同于SQL serve中的网络配置,其实不然,只不过所有的SQL server 运行于Windows平台,故很多配置直接集成到了操作系统之中.所以无需配置客户端即可连接到服务器.Oracle 客户端连接到数据库依赖于Oracle Net.Oracle提供

Oracle RAC 客户端连接负载均衡(Load Balance)

实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力.通常情况下有两种方式来实现负载均衡,一个是基于客户端连接的负载均衡,一个是基于服务器端监听器(Listener)收集到的信息来将新的连接请求分配到连接数较少实例上的实现方式.本文主要讨论的是基于客户端连接的负载均衡,并给出演示. 与负载均衡配置之前的监听配置请参考              ORACLE RAC 监听配置 (listener.ora t

DataUml Design 介绍11 - DataUML 1.5版本功能(支持无Oracle客户端连接,有图有真相)

DataUML Design1.5版本主要更新内容包括: 1.优化数据库登录界面: 2.查询分析器智能提示: 3.优化数据库浏览插件,数据库登录组件,支持历史记录缓存: 4.支持无Oracle客户端连接: 5.支持浏览数据库视图.存储过程.函数和触发器: 6.支持从Excel文件导入数据生成模型: 7.优化组合软件新建功能的界面: 一.新建功能的界面 集成成有插件的新建功能,类似于VS编译器,所有插件新建功能统一入口.如下图 二.数据库连接界面,支持无Oracle客户端连接 1.优化数据库登录界

Android学习笔记一之客户端连接服务器

1.客户端连接服务器实例剖析: 第一步:在浏览器,客户端输入得到用户输入的内容. 第二步:浏览器得到这个网址之后,内部会将这个域名发送到DNS上进行域名解析.解析得到这个网址的IP地址之后,客户端会链接到指定的服务器上. 第三步:实现TCP/IP协议用Socket完成,使用了Socket的套接字. 第四步:服务器端的端口监听客户端的连接,这样客户端就和服务器连接上了. 2.当服务器监听到了客户端的请求之后,服务器会以三种方式返回给客户端,最常用的是以HTML,也就是网页的形式返回,还可以以XML

设置客户端连接PostgreSQL不需要密码

平常工作中,有时需要远端连接 PostgreSQL 数据库做些维护,例如远端备份等:如果备份脚本写在远端机器,备份的时候会弹出密码输入提示,那么脚本就不能后台执行,这里总结了几种不弹出密码输入提示的方法. --测试环境 目标库IP:  192.168.1.25/5432 : 数据库: Mydb :用户名:postgres 客户端IP:  192.168.1.26 --在 192.168.1.26  连接数据库 Mydb , 弹出密码提示 [email protected]> psql -h 19