Posts Tagged memcached

安装php-memcached,libmemcached提示“configure: error: “could not find memcached binary””的解决

先发一下牢骚,这些名字怎么这么接近,甚至是一样的。服务端:memcached,PHP客户端扩展:memcache,memcached,顺便想个别的名字不行吗,我想搜索关于php-memcached的资料,90%以上会搜索到服务端的memcached。

以下是正题。

如果memcached和php-memcached是在同一台机子里运行,一般不会出现这个问题,真出现了,只要加上”with-memcached=你的memcached路径”即可。

我这里碰到的情况是,memcached安装在另外一台机子,上面只有mysql和memcached。需要安装php-memcached的机器是没有memcached的,在安装libmemcached时,就会出现标题的报错,这时,只要从安装有memcached的机器那复制memcached放到本地的/usr/bin下即可顺利通过。

, , ,

No Comments

CentOS 5.2 安装memcached

1.下载

wget http://www.monkey.org/%7Eprovos/libevent-1.3.tar.gz
wget http://memcached.googlecode.com/files/memcached-1.2.8.tar.gz

2.安装

tar zxvf libevent-1.3.tar.gz
cd libevent-1.3
./configure --prefix=/usr
make
make install

cd ../

tar zxvf memcached-1.2.8.tar.gz
cd memcached-1.2.8
./configure --with-libevent=/usr
make
make install

3.运行

/usr/local/bin/memcached -d -m 256 -u root -l 10.0.0.90 -p 12000 -c 256 -P /tmp/memcached.pid

选项说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,我这里是256MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址10.0.0.90,
-p是设置Memcache监听的端口,我这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid

发现报错“/usr/local/bin/memcached: error while loading shared libraries: libevent-1.3.so.1: cannot open shared object file: No such file or directory”
因为我装的是64位服务器,加上以下一句解决

ln -s /usr/lib/libevent-1.3.so.1.0.3 /usr/lib64/libevent-1.3.so.1

4.测试
php已经事先加好memcache支持

  1. <?php
  2. $memcache = new Memcache();
  3. $memcache->connect('10.0.0.90', 12000);
  4. $memcache->set('key', 'This is a memcache test!', 0, 60);
  5. $result = $memcache->get('key');
  6. unset($memcache);
  7. echo $result;
  8. ?>

运行该页面,如果出现“This is a memcache test!”表示成功!
5.加入开机启动

vim /etc/rc.local

最后加上

/usr/local/bin/memcached -d -m 1024 -u root -l 10.0.0.90 -p 12000 -c 256 -P /tmp/memcached.pid

, ,

No Comments