php7出了!性能提升一倍!
不过兼容性好像还不太好,我在php7下安装memcached扩展遇到了问题,记录一下。
centos下安装php7见 http://my.oschina.net/u/150705/blog/473836 与安装5.6基本类似。
一. 首先使用yum安装memcache:
yum search memcachedyum -y install memcached
安装成功之后输入
memcached -h可以查看memcached的命令参数,之后可以通过如下的命令来启动memcached,此时各参数为默认值:
service memcached start
默认参数值可以通过下面语句查看:
vi /etc/sysconfig/memcached内容一般如下:
PORT="11211" #memcached的端口号USER="memcached" #以memcached用户运行MAXCONN="1024" #最大连接数CACHESIZE="64" #设置缓存内存为64MOPTIONS=""
二. 直接使用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-memcachedmakemake 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/libmemcachedmakemake 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; }