开发者社区> 问答> 正文

一招教你搞定OCS无法输入用户名密码的问题

OCS使用时必须输入用户名密码的这个比较烦,小弟我又弄了一个patch,解决那个SASL配置的问题,分享给大家试试。应该能解决C++/C Python PHP 等依赖libmemcached作为客户端的Application,不保证能解决所有环境下的问题哈。


介绍在此: https://github.com/ychtiger/libmemcached-OCS/wiki  


下载在此: https://github.com/ychtiger/libmemcached-OCS


使用手册

简介

Libmemcached-OCS是专为aliyun OCS环境打造的memcached客户端。由于很多PHP框架,Python框架不支持libmemcached sasl协议配置,而阿里云的OCS服务是强依赖sasl机制,所以做了个patch,通过环境变量来配置libmemcached sasl。

适用范围

C++/C Python PHP 等依赖libmemcached作为客户端的Application。

安装部署
Linux环境

Step1: 下载源码并解压

git clone https://github.com/ychtiger/libmemcached-OCS.git
cd libmemcached-OCS/
tar jxvf libmemcached-1.0.18.patched.tar.gz
cd libmemcached-1.0.18.patched/


Step2: 编译libmemcached-OCS
./configure --disable-sasl
make


Step3: 安装
sudo make install
Step4: 配置环境变量
export ALIYUN_OCS_ENABLE=true
export ALIYUN_OCS_NAME=yourusername
export ALIYUN_OCS_PASW=yourpassword

ALIYUN_OCS_ENABLE 用来标识是否开启OCS功能,如果访问OCS服务,需要设置为true
ALIYUN_OCS_NAME OCS服务用户名
ALIYUN_OCS_PASW OCS服务密码
注意,环境变量一定要设置在你程序启动的用户下,建议直接在.bashrc中设置

展开
收起
小心蜡笔 2014-08-06 16:30:58 8049 0
3 条回答
写回答
取消 提交回答
  • 回 楼主(小心蜡笔) 的帖子
    赞一个楼主的实践与分享精神
    2014-08-06 22:37:29
    赞同 展开评论 打赏
  • Good,使用新的libmemcached库后,所有依赖libmemcached的客户端代码都可以去掉鉴权函数了。PHP实例如下:
    <?php

    $memc = new Memcached();
    $memc->setOption(Memcached::OPT_COMPRESSION, false);
    $memc->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
    $memc->addServer("10.232.X.X", 11211);
    //$memc->setSaslAuthData("username", "password");//鉴权函数可以取消了
    while(1)
    {
      $memc->set("key", "get OCS value");
      $result = $memc->get("key");
      var_dump($result);
      sleep(1);
    }
    ?>
    2014-08-06 16:53:54
    赞同 展开评论 打赏
  • Re一招教你搞定OCS无法输入用户名密码的问题
    LZ你要不要这么强大,这个方法好用啊
    2014-08-06 16:52:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载