centos下php7支持memcached

断了今生、忘了曾经 提交于 2019-11-29 17:25:48

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;     
}



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!