正好在看缓存,看到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
效果如下:
403596">
说明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
这个过程需要花费几分钟,耐心等待,成功后,可以找到该路径:
说明安装成功。
安装PHP-memcached扩展
找到刚才下载的memcached-2.2.0.tgz
将其解压:
#tarzxvfmemcached-2.2.0.tgz
然后进入该目录:
#cdmemcached-2.2.0.tgz
找到自己的PHPize路径:
#find/-name“PHPize”
这里我的结果是
PHPize" title="" style="border:none;height:auto;" src="http://img.blog.csdn.net/20151108124812445">
所以接下来配置:
#/usr/bin/PHPize
然后配置路径并安装:
#./configure--enable-memcached--with-PHP-config=/usr/bin/PHP-config--with-libmemcached-dir=/usr/local/libmemcached--disable-memcached#make#makeinstall
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是否正常工作:
<?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