centOS下PHP使用memcached详细安装过程

正好在看缓存,看到memcached,就试着在服务器上安装一下php的扩展。但是我安装失败了。。。


网上的文章都没有完整的介绍如何配置centos下php的memcached使用环境,所以这里将自己成功配置的经验写下来。


安装memcached

首先是安装memcached数据库本身。

我们在centos下可以通过yum下载memcached数据库本身:

#yumsearchmemcached#yum-yinstallmemcached

安装成功后,通过下面命令可以查看帮助信息:

#memcached-h1

将memcached加入启动列表:

#chkconfig--level2345memcachedon

配置memcached文件:

#vi/etc/sysconfig/memcached

文件内容如下:

PORT=”11211”USER=”root”MAXCONN=”1024”CACHESIZE=”64”OPTIONS=””

分别代表端口号、用户名、同时最大连接数、使用的内存大小和附加的参数。

首先要启动 memcached,

可以通过以下命令查看memcached状态:

#memcached-tool127.0.0.1:11211stats

效果如下:

memcached状态

说明memcached已经成功安装。
接下来是配置php的memcached扩展了。
php的memcached扩展是基于libmemcached,所以要先安装libmemcached.


下载软件

首先我们需要下载libmemcached:

#wgethttps://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

然后需要下载php-memcached扩展:

#wgethttp://pecl.php.net/get/memcached-2.2.0.tgz

安装libmemcached

找到我们刚才下载的libmemcached-1.0.18.tar.gz
解压:

#tarzxcflibmemcached-1.0.18.tar.gz

进入目录:

#cdlibmemcached-1.0.18

然后配置路径并安装:

#./configure--prefix=/usr/local/libmemcached--with-memcached
#make
#makeinstall

这个过程需要花费几分钟,耐心等待,成功后,可以找到该路径:

libmemcached路径

说明安装成功。


安装php-memcached扩展

找到刚才下载的memcached-2.2.0.tgz
将其解压:

#tarzxvfmemcached-2.2.0.tgz

然后进入该目录:

#cdmemcached-2.2.0.tgz

找到自己的phpize路径:

#find/-name“phpize”

这里我的结果是

phpize

所以接下来配置:

#/usr/bin/phpize

然后配置路径并安装:

#./configure--enable-memcached--with-php-config=/usr/bin/php-config--with-libmemcached-dir=/usr/local/libmemcached--disable-memcached#make#makeinstall

安装完成后。需要找到php.ini文件,加上:

extension=memcached.so

再重启apache:

serviceapacherestart

因为我是Nginx,重启后。没有。。。。。老是报错PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/memcached.so' - /usr/lib64/php/modules/memcached.so: cannot open shared object file: No such file or directory in Unknown on line 0

改掉这个问题后,又来新的问题

php -v

PHP Warning: PHP Startup: memcached: Unable to initialize module

Module compiled with module API=20131226

PHP compiled with module API=20100525

These options need to match

in Unknown on line 0

简直折腾了一天,试了各种方案,无功而返,放弃了。。。。。

就可以在页面中通过输出php_info()来查看到memcached扩展安装成功:

memcached


测试memcached

安装成功后,我们通过代码测试memcached是否正常工作:

<?php$mem=newMemcached();if(!$mem->addServer('127.0.0.1',11211))
{
die('连接失败!');
}$mem->set('name','lf');
var_dump($mem->get('name'));

页面输出结果为:

string(2)"lf"

说明memcached已经安装成功并且正常工作。

原文地址:http://www.jb51.cc/article/p-ohfujusd-bhg.html

php扩展安装Api Version不匹配问题http://www.jb51.cc/article/p-pvmbpfdu-kx.html

Can't get memcached to run on CentOS 5.8https://serverfault.com/questions/460371/cant-get-memcached-to-run-on-centos-5-8

CentOS下安装memcachedhttp://blog.csdn.net/sinat_21125451/article/details/50983343

相关文章

linux下开机自启: 在/etc/init.d目录下新建文件elasticsear...
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以...
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用...
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一...
设置时区(CentOS 7) 先执行命令timedatectl status|grep &...
vim&#160;/etc/sysconfig/network-scripts/ifcfg-eth0 B...