美文网首页
php memcached 安装

php memcached 安装

作者: 马六甲的笔记 | 来源:发表于2019-03-24 16:59 被阅读0次

    一、了解概念


    关于 memcached 和 php ,有好多个名词,因为长得非常相似,时常让人看的一脸懵逼,所以要先搞清楚。

    1. memcached

    指服务端,就像 mysql server、redis server 那样,你可以手动编译这玩意安装到服务器当做服务端用,也可以直接使用云服务商提供的现成的服务端。

    2.libmemcached

    一个客户端库,有了服务端,就要有客户端来连接、读写。客户端可以是 php、java、pyton、nodejs 等等语言,各个语言可以按照 memcached 的通信协议去实现,但这有点浪费了,libmemcached 就是一个封装好协议的库,各客户端可以在这个库基础上写 wrapper ,实现各自语言的api。这个库可以单独在 unix 系统中安装,各语言可以共享这个库。

    3.php-memcache

    php 早期实现的一个 memcached 客户端,自己内部实现了通信协议,不依赖 libmemcached

    4.php-memcached

    php 使用 libmemcached 实现的客户端 wrapper,封装好后暴露各种 api 给 php 用

    二、安装哪个php扩展


    可以看出有两个可供选择,php-memcached 或者 php-memcache,来个简单的对比

    指标 php-memcache php-memcached
    依赖 libmemcached
    功能 略少(够用) 丰富
    维护 最后更新(2013年) 持续
    支持 unix 和 win(已提供dll) unix 和 win(未提供dll)

    比较推荐 php-memcached,毕竟在持续维护,另外他使用的是通用库,方便与其他语言共享服务端,但比较麻烦的是,未提供 编译好的 win 扩展,win 编译扩展是个头疼的事 ,若没有精力编译,还必须跑在 win 系统,使用 php-memcache 吧

    三、安装 php-memcached


    1、先装 libmemcached

     $ wget http://launchpad.net/libmemcached/1.0/0.44/+download/libmemcached-0.44.tar.gz
     $ tar xvzf libmemcached-0.44tar.gz 
     $ cd libmemcached-0.44
     $ ./configure
     $ make
     $ sudo make install
    

    使用 mac 可以直接 brew 安装

    $ brew install libmemcached
    

    2、再装 php-memcached

    $ wget http://pecl.php.net/get/memcached-3.1.3.tgz
    $ tar zxvf memcached-3.1.3.tgz 
    $ cd memcached-3.1.3
    
    $ phpize  #使用默认php
    $ /usr/local/php/bin/phpize # 若有多版本 php 存在,可使用指定路径的 phpize 
    
    # 配置编译选项,两个参数非必须,在php和libmemcached不是系统默认安装的情况下才需要
    ./configure \
    --with-php-config=/usr/local/php/bin/php-config \
    --with-libmemcached-dir=/usr/local/libmemcached
    
    $ make
    $ sudo make install
    

    安装中可能遇到的问题

    1. Cannot find autoconf. Please check your autoconf installation

    缺少 autoconf 库

    # 源码安装, 这里就不写了, 仍然是 下载->编译->安装 的路子
    
    # mac brew 安装
    $ brew install autoconf 
    

    2.configure: error: Please reinstall the pkg-config distribution

    缺少 pkg-config 库

    # 源码安装, 这里就不写了, 仍然是 下载->编译->安装 的路子
    
    # mac brew 安装
    $ brew install pkg-config
    

    3、加载扩展

    若上一步骤无错误,此时应该在 php 扩展目录生成了 memcached.so

    打开 php.ini (可使用 php --ini 查看路径)添加

    # 请将路径改为正确的
    extension="/usr/local/php/pecl/20170718/memcached.so"
    

    此时,php cli 应该是已经生效了, 可用下面的命令判断

    $ php -m|grep memcached
    

    最后,使用 php-fpm 方式的重启 php-fpm, 使用 apache moudle 方式的 重启 apache,让 Http 请求也生效

    相关文章

      网友评论

          本文标题:php memcached 安装

          本文链接:https://www.haomeiwen.com/subject/uovuvqtx.html