1、安装libevent 安装memcached前需要先安装libevent wget http://sourceforge.net/projects/levent/files/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz tar zxvf libevent-2.0.22-stable.tar.gz cd libevent-2.0.22-stable ./configure make && make install 2、安装memcached wget http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz tar zxvf memcached-1.2.7.tar.gz cd memcached-1.2.7 ./configure make && make install 注意:make的时候报错 memcached.c: 在函数‘add_iov’中: memcached.c:696:30: 错误: ‘IOV_MAX’未声明(在此函数内第一次使用) memcached.c:696:30: 附注: 每个未声明的标识符在其出现的函数内只报告一次 make[2]: *** [memcached-memcached.o] 错误 1 需要修改 memcached.c 文件: 复制代码 /* FreeBSD 4.x doesn't have IOV_MAX exposed. */ #ifndef IOV_MAX #if defined(__FreeBSD__) || defined(__APPLE__) # define IOV_MAX 1024 #endif #endif 改成: /* FreeBSD 4.x doesn't have IOV_MAX exposed. */ #ifndef IOV_MAX # define IOV_MAX 1024 #endif 复制代码 再make&&make install,编译之后退出root用户。 安装完成后memcached的默认目录为/usr/local/bin/memcached 3、启动memcached /usr/local/bin/memcached -m 32m -p 11211 -d -u root -P /var/run/memcached.pid -c 256 启动时报如下错误的解决方法 /usr/local/bin/memcached: error while loading shared libraries: libevent-2.0.22.so.1: cannot open shared object file: No such file or directory 找不到libevent-2.0.22.so的解决方法 echo "/usr/local/lib" >> /etc/ld.so.conf ldconfig 启动参数说明: -d 选项是启动一个守护进程。 -u root 表示启动memcached的用户为root。 -m 是分配给Memcache使用的内存数量,单位是MB,默认64MB。 -M return error on memory exhausted (rather than removing items)。 -u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。 -l 是监听的服务器IP地址,默认为所有网卡。 -p 是设置Memcache的TCP监听的端口,最好是1024以上的端口。 -c 选项是最大运行的并发连接数,默认是1024。 -P 是设置保存Memcache的pid文件。 -f <factor> chunk size growth factor (default: 1.25)。 -I Override the size of each slab page. Adjusts max item size(1.4.2版本新增)。 也可以启动多个守护进程,但是端口不能重复 测试启动是否正常 telnet localhost 11211 2.查看memcached启动命令 ps aux|grep memcached 2.1.2. 停止memcached kill 'cat /var/run/memcached/pid' 6、安装Memcache的PHP扩展 wget http://pecl.php.net/get/memcache-2.2.5.tgz tar zxvf memcache-2.2.5.tar.gz cd memcache-2.2.5 /home/webserver/php/bin/phpize ./configure --enable-memcache --with-php-config=/home/webserver/php/bin/php-config make && make install 安装完成后会出现如下提示 Installing shared extensions: /home/webserver/php/lib/php/extensions/no-debug-non-zts-20121212/ 修改php.ini文件 把extension_dir = “./” 修改为extension_dir = “/home/webserver/php/lib/php/extensions/no-debug-non-zts-20121212/” 添加如下一行代码 extension=memcache.so 7、测试Memcache的PHP是否安装成功 运行如下代码 <?php $mem = new Memcache; $mem->connect( '127.0.0.1' , 11211); $mem->set ('test' , "hello world!" , 0 ,12); $val = $mem->get( 'test'); echo $val; ?> (责任编辑:IT) |