您的位置:首页 > 数据库 > Memcache

centos下php7支持memcached

2015-12-20 19:35 591 查看
php7出了!性能提升一倍!

不过兼容性好像还不太好,我在php7下安装memcached扩展遇到了问题,记录一下。

centos下安装php7见 http://my.oschina.net/u/150705/blog/473836 与安装5.6基本类似。

一. 首先使用yum安装memcache:

yum search memcached

yum -y install memcached

安装成功之后输入

memcached -h
可以查看memcached的命令参数,之后可以通过如下的命令来启动memcached,此时各参数为默认值:
service memcached start

默认参数值可以通过下面语句查看:

vi /etc/sysconfig/memcached
内容一般如下:
PORT="11211"  #memcached的端口号
USER="memcached"  #以memcached用户运行
MAXCONN="1024"  #最大连接数
CACHESIZE="64"  #设置缓存内存为64M
OPTIONS=""


二. 直接使用pecl安装php的memcached扩展出现问题,故只能使用手动安装

三. 手动安装php的memcached扩展(感谢评论里两位大大的指点):

memcache安装成功并启动之后,还需要在php之中安装相应的扩展模块,才能在php之中使用memcache:

1. 首先需要安装libmemcached支持:

官网在此,找到最新版的下载链接 https://launchpad.net/libmemcached,使用wget下载tar.gz压缩包,解压缩,进入目录,依次执行(prefix后为安装目录):
./configure --prefix=/usr/local/libmemcached --with-memcached
make
make install


2. 安装memcached

php使用memcache的扩展有两个,一个memcache,一个memcached,前者比较老,推荐使用第二个,我们这里以第二个为例:

在github上找到适用于php7的分支(https://github.com/php-memcached-dev/php-memcached/tree/php7),同样使用wget下载zip压缩包,解压缩,进入目录,依次执行下列命令(其中php-config和libmemcached目录根据具体情况设定,可以使用whereis或者find来查找):

phpize
./configure --enable-memcached --with-php-config=/data/soft/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
make
make install


3. 修改php.ini文件

(php.ini文件具体位置可以通过phpinfo()函数来查看到),在php.ini文件之中加入下面这句:

extension=memcached.so


4. 检查安装是否成功

重启httpd,然后新建一个php文件,在其中加入phpinfo()函数,通过浏览器打开该php页面,查看是否出现memcached模块,如果出现,证明安装成功!



四、创建php文件并测试:

$mem  = new Memcached(); //创建一个memcached对象
$mem->addServer('localhost',11211);    //连接memcached
$mem->set("key","test");//设置一个变量到内存中,名称是key 值是test
$get_value = $mem->get('key'); //从内存中取出key的值
if($mem->getResultCode() == Memcached::RES_NOTFOUND)    //如果该名称的变量没有设置
{
echo 'not set!';
}
else
{
echo $get_value;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php7 centos memcached 扩展