linux下安装PHP扩展memcache
windows安装memcached服务以及扩展,移步 https://www.cnblogs.com/w1618/p/10796377.html
公司的服务器 CentOS 7.5,PHP 5.6 下面都是最新的版本(支持到PHP5.6)
如需php7 下支持memcache扩展,请移步 https://www.cnblogs.com/hejun695/p/5369610.html
PS:Memcached 是缓存服务器,类似于mysqld 是mysql的服务器 这种关系
memcache 是php的一个早期版本的memcache扩展, 官网更新到2013年,所以官网是不支持PHP7的,需要PHP7支持的,请移步上边的网址,使用 githup 的分支
memcached 是php中一个新的memcached扩展,支持PHP7,但是更memcache在使用上有区别, 但是更好用,加了很多新功能
准备工作:先下载三个安装包到 /tmp 文件夹 memcached(缓存服务器),memcache(php扩展),libevent(一个依赖软件)
cd /tmp
下载libevent2.1.8
命令: wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz
下载memcached1.5.10
命令:wget http://www.memcached.org/files/memcached-1.5.10.tar.gz
下载php扩展memcache3.0.8
命令: wget http://pecl.php.net/get/memcache-3.0.8.tgz (如服务器上无法下载,可以下载到本地,然后FTP传上去)
安装步骤:
1. 安装libevent
cd /tmp #首先进入到该下载包的目录
tar zxvf libevent-2.1.8-stable.tar.gz #解压包
cd libevent-2.1.8-stable #进入到解压的目录
./configure --prefix=/usr/local #编译前配置,生成Makefile文件,路径可自行更改(注意prefix前面和with前面都是两个 - )
make; #编译
make install #安装
#测试是否安装成功
执行 ls -al /usr/local/lib | grep libevent 出现类似下图说明成功
2. 安装memcached
cd /tmp #首先进入到该下载包的目录
tar zxvf memcached-1.5.10.tar.gz #解压包
cd memcached-1.5.10 #进入到解压的目录
./configure --with-libevent=/usr/local #编译前配置,生成Makefile文件,路径必须与libevent中一致
make;#编译
make install #安装
#测试是否安装成功
执行 ls -al /usr/local/bin/memcached 出现下图则说明成功
通过以上操作,就完成了memcached服务器的安装。现在来完成memcache的php扩展安装
3. 安装扩展
cd /tmp #首先进入到该下载包的目录
tar zxvf memcache-3.0.8.tgz #解压包
cd memcache-3.0.8 #进入到解压的目录
/usr/bin/phpize #动态为php添加扩展。phpize路径可能不一致,请根据自己的实际情况配置 不知道的话可以执行 whereis phpize查看
./configure –enable-memcache –with-php-config=/usr/local/php/bin/php-config –with-zlib-dir #php-config的路径请根据自己安装PHP的位置填写
make; #编译
make install #编译
到这里软件安装就完成了,如果提示你缺少什么软件,比如zlib.h,就继续安装这个软件就行了, 我就一次成功
然后是配置php.ini文件,
配置php.ini文件
首先通过phpinfo函数,找到php.ini的路径,我的是:/usr/local/php/etc/php.ini,
命令: vim /usr/local/php/etc/php.ini
在其中添加如下内容:
- extension=memcache.so #在php.ini中引入扩展,如果提示扩展路径不对,检查phpinfo()中的extension_dir路径中是否有该文件。
- 执行 systemctl restart php-fpm 重启php-fpm, 此时phpinfo出现memcache
配置memcached服务器
- 启动memcached服务器
memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid
到此结束
参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址127.0.0.1,
-p是设置Memcache监听的端口,我这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
2. 结束memcached进行
kill cat /tmp/memcached.pid
3. 执行netstat -ant 检查memcached是否已经启动
测试php的memcache扩展
<?php
$mem = new Memcache;
$mem->connect("192.168.12.201", 13001);
$mem->set('key','This is a test!', 0, 60);
$val = $mem->get('key');
echo $val;
?>
写在后面:大家有兴趣可以将session改为使用memcache来保存。php自身使用文件的方式,不太好,动不动文件大小总和就上G了。
Memcached 安装及启动脚本 http://www.linuxidc.com/Linux/2013-07/87641.htm
PHP中使用Memcached的性能问题 http://www.linuxidc.com/Linux/2013-06/85883.htm
Ubuntu下安装Memcached及命令解释 http://www.linuxidc.com/Linux/2013-06/85832.htm
Memcached的安装和应用 http://www.linuxidc.com/Linux/2013-08/89165.htm
使用Nginx+Memcached的小图片存储方案 http://www.linuxidc.com/Linux/2013-11/92390.htm
Memcached使用入门 http://www.linuxidc.com/Linux/2011-12/49516p2.htm
Memcached 的详细介绍:请点这里
Memcached 的下载地址:请点这里
更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
参考原文地址 https://www.linuxidc.com/Linux/2015-05/117170.htm