安装Memcached与php扩展:memcached与memcache

简介

  • Memcached:
    官网:http://memcached.org/
    Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。
    与redis有点类似。具体的区别:http://blog.csdn.net/tonysz126/article/details/8280696/

  • memcached:
    php官网介绍:http://php.net/manual/zh/intro.memcached.php
    github地址:https://github.com/php-memcached-dev/php-memcached
    php的一个扩展。
    此扩展使用了libmemcached库提供的api与memcached服务端进行交互。它同样提供了一个session处理器(memcached)。 它同时提供了一个session处理器(memcached)。

  • memcache:
    php官网介绍:http://php.net/manual/zh/intro.memcache.php
    github地址:https://github.com/websupport-sk/pecl-memcache
    php的一个扩展。
    memcache模块提供了于Memcached方便的面向过程及面向对象的接口,memcached是为了降低动态web应用 从数据库加载数据而产生的一种常驻进程缓存产品。
    memcache模块同时提供了一个session 处理器 (memcache)。
    是一个过时的扩展,与memcached的区别:http://www.cnblogs.com/scotoma/archive/2011/02/15/1955573.html

起因

实习的公司里面需要使用Memcached进行数据的缓存,但我之前只接触过redis,所以对Memcached并不熟悉。以为它也有类似redis的第三方图形化客户端,方便查看数据,但找了半天只找到一个php的web版客户端memadmin:
https://github.com/kidayi/memAdmin
部署完该项目后发现没有安装memcache扩展,不能运行。尝试修改源码,替换为memcached的函数后大部分功能依旧不能实现,所以只能再安装memcache扩展。
不过中间遇到不少问题,又加上快下班了所以就放弃了。不过最近请了将近一个月的假,所以有时间来尝试解决这个问题(公司居然还没让我走人=_=, 可以继续白嫖 ( ´°̥̥̥̥̥̥̥̥ω°̥̥̥̥̥̥̥̥`) )。

不过安装过程也遇到不少坑。。。。。。

过程

环境与需求介绍:
ubuntu16安装Memcached(这个ubuntu是当时学laravel时用vagrant装的虚拟机)
php7.1安装memcached与memcache

由于目前大部分php教程都是5.x版本,所以在检索时最好加上php7这个条件。

安装Memcached

sudo apt-cache search memcached //搜索相关包名
sudo apt-cache show memcached //显示详细介绍
sudo apt-get install memcached //安装Memcached
ps -auwx | grep memcached //查看是否安装成功并启动

安装php的memcache扩展

在PECL上并没有php7的相关扩展所以只能在github中找到相关源码再进行编译安装。
关于phpize:http://php.net/manual/zh/install.pecl.phpize.php
关于php-config:http://www.php.net/manual/zh/install.pecl.php-config.php

git clone https://github.com/websupport-sk/pecl-memcache.git //克隆源码
phpize //打开源码目录后执行该命令
./configure --with-php-config=php-config //执行脚本并配置php-config
sudo make && sudo make install //编译并安装

安装完成后,会显示memcache.so文件的所在目录。
配置php7,添加扩展。

php -i | grep php.ini //查看php.ini位置
//找到相关目录后发现php.ini中并没有其他扩展的配置信息,而是在conf.d文件夹中找到了配置php多个扩展的配置文件
echo 'extension=memcache.so' > ./memcache.conf //添加memcache的扩展配置文件
ps -auwx | grep php 
sudo kill php-id && sudo php-fpm //重启php
php -m //查看当前php启用的扩展

安装php的memcached扩展

其实我的这台虚拟机中php的memcached扩展已经安装好了,但我没注意,所以又重新安装了一遍。。。。。。
安装memcached的扩展可能需要安装其他软件,比如:libmemcached 客户端库,zlib模块等。
安装方法都差不多,首先在apt中搜索,如果没有就考虑自己下载源码手工编译安装。
安装memcached扩展和memcache类似,所以就不啰嗦了。。。。。
具体可以参考:
这篇是针对php5版本的,不过里面讲了部分安装时的配置,所以还是很必要的:
http://www.cnblogs.com/phpstudy2015-6/archive/2017/04/05/6670103.html
这篇是针对php7版本的:
http://www.lnmp.cn/install-memcache-and-memcached-extends-under-php7.html

总结

c和c++还是厉害啊。。。。。

你可能感兴趣的:(安装Memcached与php扩展:memcached与memcache)