在網上查找了好多資料,不少都安裝不成功,並且都是同一個資料相互抄襲泛藍,沒一個實用的。今天配置好了,將配置過程分享一下。php
Linux下的Memcache運行須要libevent的支持,因此在安裝memcache以前必需要安裝libevent。安裝過程當中可能會遇到不少問題,本人都將可能遇到錯誤時的解決辦法整理出來了。apache
一、先安裝libevent:vim
#yum -y install libevent libevent-develcentos
二、安裝memcached,最新版本爲:memcached-1.4.7.tar.gz,同時指定libevent的安裝位置:
# cd /home服務器
# wget http://memcached.googlecode.com/files/memcached-1.4.7.tar.gz
# tar zxvf memcached-1.4.7.tar.gz併發
# cd memcached-1.4.7
# ./configure -with-libevent=/usr
# make
# make install
若是中間出現報錯,請仔細檢查錯誤信息,按照錯誤信息來配置或者增長相應的庫或者路徑。memcached
安裝完成後會把memcached放到 /usr/local/bin/memcached。測試
三、安裝Memcache的PHP擴展ui
3.1 在http://pecl.php.net/package/memcache選擇相應想要下載的memcache版本,最新版本memcache-3.0.6.tgz。
3.2 安裝PHP的memcache擴展google
#wget http://pecl.php.net/get/memcache-3.0.7.tgz
#tar zxvf memcache-3.0.7.tgz
#cd memcache-3.0.7
#phpize
#./configure -enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
#make
編譯完成以後會提示:
Don't forget to run 'make test'.
#make test
Build complete.
Don't forget to run 'make test'.
=====================================================================
PHP : /usr/bin/php
PHP_SAPI : cli
PHP_VERSION : 5.3.2
ZEND_VERSION: 2.3.0
PHP_OS : Linux - Linux candy 2.6.32-71.el6.i686 #1 SMP Fri Nov 12 04:17:17 GMT 2010 i686
INI actual : /home/memcache-3.0.6/tmp-php.ini
More .INIs :
CWD : /home/memcache-3.0.6
Extra dirs :
VALGRIND : Not used
#make install
(注:
1 phpize沒有找到
解決方法:
centos是默認沒有安裝php-devel的yum -y install php-devel
2 make: *** [memcache.lo] Error 1
沒有安裝zlib
yum -y install zlib-devel
3 配置的命令改成:./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir其中enable和with前面是兩個--)
上述安裝完後會有相似這樣的提示:
Installing shared extensions: /usr/lib/php/modules/
四、把php.ini中的extension_dir = 「./」修改成:
#vim /etc/php.ini
extension_dir = "/usr/lib/php/modules/"
在其下添加一行來載入memcache擴展:extension=memcache.so
memcached的基本設置:
1.啓動Memcache的服務器端:
#/usr/local/bin/memcached -d -m 256 -u nobody -l localhost -p 11211
-d選項是啓動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這裏是256MB,
-u是運行Memcache的用戶,我這裏是root,
-l是監聽的服務器IP地址,若是有多個地址的話,我這裏指定了服務器的IP地址localhost,
-p是設置Memcache監聽的端口,我這裏設置了11211,最好是1024以上的端口,
-c選項是最大運行的併發鏈接數,默認是1024,按照你服務器的負載量來設定,
-P是設置保存Memcache的pid文件,
2.重啓apache,service httpd restart
Memcache環境測試:
運行下面的php文件,若是有輸出This is a test!,就表示環境搭建成功。開始領略Memcache的魅力把!
<?php
$mem = new Memcache;
$mem->connect("localhost", 11211);
$mem->set('test','hello world',0,60);
echo $mem->get('test');
?>
若是顯示「hello world」 就說明配置成功啦~~