Memcache的客户端连接系列(四) PHP
关键词: Memcached PHP 客户端
声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南。客户端连接方法通用,故摘抄过来分享给大家。
PHP客户端
RedHat系列:
以CentOS7为例介绍PHP版本客户端的安装。Redhat、Fedora等系统也适用。
- 安装gcc-c++及make等编译组件。
yum install gcc-c++ make
- 安装sasl相关包。
yum install cyrus-sasl*
- 安装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。
- 安装php。
yum install php-devel php-common php-cli
- 安装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
- 增加php.ini配置。
使用find或者locate命令找到php.ini文件。
find / -name php.ini
编辑该文件,增加以下两行:
extension=memcached.so
memcached.use_sasl = 1 - 测试连接。
新增一个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();
?>保存后运行情况如下:
[root@testphpmemcached ~]# php memcached.php
DCS: Come on!
[root@testphpmemcached ~]#
debian系列
以Ubuntu为例,安装步骤如下:
- 安装gcc及make等编译组件。
apt install gcc make
- 安装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 "\n" " "`
- 安装sasl组件。
apt install libsasl2-dev cloog.ppl
- 安装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。
- 安装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;
- 增加pdo.ini配置。
使用find命令找到pdo.ini文件。
find / -name pdo.ini
默认应该在/etc/php/5.6/mods-available路径下。编辑该文件,增加以下两行:
extension=memcached.so
memcached.use_sasl = 1 - 测试连接。
新增一个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();
?>保存后运行情况如下:
[root@dcs-nodelete ~]# php memcached.php
DCS: Come on!
[root@dcs-nodelete ~]#
Memcache的客户端连接系列(四) PHP的更多相关文章
- Memcache的客户端连接系列(三) C++
关键词: Memcached C++ 客户端 声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南.客户端连接方法通用,故摘抄过来分享给大家. C++客户端示例 ...
- Memcache的客户端连接系列(二) Python
关键词: Memcached Python 客户端 声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南.客户端连接方法通用,故摘抄过来分享给大家. Python ...
- Memcache的客户端连接系列(一) Java
声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(Memcached)的用户指南. 关键词: Memcached 客户端 Java Java连接池 Java客户端示例 用户的弹性云服务器已安装 ...
- 第四节 RabbitMQ在C#端的应用-客户端连接
原文:第四节 RabbitMQ在C#端的应用-客户端连接 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87 ...
- redis学习教程四《管理、备份、客户端连接》
redis学习教程四<管理.备份.客户端连接> 一:Redis服务器命令 Redis服务器命令 下表列出了与Redis服务器相关的一些基本命令. 序号 命令 说明 1 BGREWRITE ...
- Redis 数据备份与恢复,安全,性能测试,客户端连接,管道技术,分区(四)
Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...
- Mina 系列(四)之KeepAliveFilter -- 心跳检测
Mina 系列(四)之KeepAliveFilter -- 心跳检测 摘要: 心跳协议,对基于CS模式的系统开发来说是一种比较常见与有效的连接检测方式,最近在用MINA框架,原本自己写了一个心跳协议实 ...
- 配置ORACLE 客户端连接到数据库
--================================= -- 配置ORACLE 客户端连接到数据库 --================================= Oracle ...
- Oracle RAC 客户端连接负载均衡(Load Balance)
实现负载均衡(Load Balance)是Oracle RAC最重要的特性之一,主要是把负载平均分配到集群中的各个节点,以提高系统的整体吞吐能力.通常情况下有两种方式来实现负载均衡,一个是基于客户端连 ...
随机推荐
- 时钟晶振32.768KHz为什么是15分频?
实时时钟晶振为什么选择是32768Hz的晶振,在百度上搜索的话大部分的答案都是说2的15次方是32768,使用这个频率的晶振,人们可以很容易的通过分频电路得到1Hz的计时脉冲.但是话有说回来了,2的整 ...
- RBG颜色对照表:有网址
RBG颜色对照表 大家都懂的RBG颜色对照表,想做一个有个性和美观的网页,风格是必须要有的,那么多姿多彩的颜色必然是装饰网页的一簇鲜花,为了方便查找比对颜色,就做了这个 网址为: http://too ...
- C++笔记008:C++对C的扩展——命名空间 namespace基础
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 第一, 命名空间的意义 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中常见的同名冲突. 我认识两位叫“A”的朋友,一 ...
- .Net core 使用SSH.Net上传到SFTP服务器和和下载文件
今天换了个服务器,文件上传到sftp服务器上了,那么ftp和sftp服务器有什么区别呢,正常来说sftp会更安全一些. 废话不多说,首先.net core 上传到sftp需要引入一个Nuget包,就是 ...
- [SHELL]软件管理
- 通过session_id恢复session内容
1.取得session_id // 开启session session_start(); // 取得 $_SESSION['test'] = '111222333'; $session_id = se ...
- 公司内部搭建git服务器
前言 因为gitHub上的项目是公开的,不适合公司内部项目放在上面,而私人的需要收费,这绝非是我们愿意的.所以找了个跟gitHub很相似,但是又免费的gitLab.现在将搭建gitLab过程记录一下留 ...
- 3D立方体
效果图 主要用到的3D属性 1.保留子元素的3d属性:transform-style:preserve-3d; 2.2D变形属性: ①transform:translate()平移,分X轴,Y轴,Z轴 ...
- Currency Helper
using System; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; /// <summary> /// 货币 ...
- (待整理)flume操作----------hivelogsToHDFS案例----------运行时,发生NoClassDefFoundError错误
1. 2.错误日志 命令为 bin/flume-ng agent --name a2 --conf conf/ --conf-file job/file-hdfs.conf Info: Sourcin ...