下載libevent ,這個是memcache的支持。從網上找到源碼直接編譯安裝。注:CentOS默認是安裝了的所以不需要再這一步。爲測試libevent是否安裝成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3
2.下載安裝memcache (這個是給本機安裝memcache,如果裝php擴展,可略)
這個直接上memcache的官網上下載最新版本,然後解壓安裝
# tar zxvf memcached-1.*.*.tar.gz
# cd memcached-1.*.*
下面這一步需要者注意的是libevent所在的目錄可能和下面的不同,可以通過whereis libevent來查看所在目錄
# ./configure --prefix=/usr/local/memchached --with-libevent=/usr/local/libevent
# make;make install
3.安裝php的memcache擴展
http://pecl.php.net/get/memcache-2.2.7.tgz (當然也可以下載其他版本)
解壓目錄然後到目錄下然後執行
先找出phpize(至於是幹什麼的自己搜索)所在位置whereis phpize ,如果沒有的話則執行命令yum install php-devel ,因爲PHPize 是屬於php 的 devel .
執行phpize
執行完畢後進行編譯前的配置
./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir
(同樣這裏需要你找出紅字部分所在位置)
make
make install
然後會提示
安裝完後會有類似這樣的提示:
Installing shared extensions: /usr/lib/php/modules/
把這個記住,然後修改php.ini,把
extension_dir = "./"
修改爲
extension_dir = "/usr/lib/php/modules/"
並添加一行
extension=memcache.so
——————————————————————————
到這基本就完成了,然後我們啓動memcache,
memcache -uroot -p21003 -m1024 (如果直接這麼執行的話則這個窗口就沒法退出了還需要以守護進程的方式運行)
——————————————————————————————————
下面寫一個php腳本
<?php $memcache = new Memcache; //創建一個memcache對象 $memcache->connect('localhost', 11211) or die ("Could not connect"); //連接Memcached服務器 $memcache->set('key', 'test'); //設置一個變量到內存中,名稱是key 值是test $get_value = $memcache->get('key'); //從內存中取出key的值 echo $get_value; ?>
——————————————————————————
然後這裏可能會出現的問題是 Failed reading line from stream (0)
出現這個問題可能是因爲1.內存不夠了,你設置的內存過大,崩潰了2.你不是以守護進程執行的,可能後臺的memcache已經關閉了
ps aux|grep memcached