所有安裝包均選用最新的。
1. 下載libevent2.0.22
下載地址:http://libevent.org/
如圖:
下載memcached1.4.24
下載地址:http://memcached.org/
如圖:
下載php擴展memcache3.0.8
下載地址:http://pecl.php.net/package/memcache
如圖:
qq1xLDmsb4=" title="">
首先將以上三個軟件包下載到/tmp目錄下
1. 安裝libevent
cd /tmp #首先進入到該下載包的目錄tar zxvf libevent-2.0.22-stable.tar.gz #解壓包cd libevent-2.0.22-stable #進入到解壓的目錄./configure --prefix=/usr/local #編譯前配置,生成Makefile文件,路徑可自行更改make; make install #編譯+安裝
測試是否安裝成功
2. 安裝memcached
cd /tmp #首先進入到該下載包的目錄tar zxvf memcached-1.4.24.tar.gz #解壓包cd memcached-1.4.24 #進入到解壓的目錄./configure –with-libevent=/usr/local #編譯前配置,生成Makefile文件,路徑必須與libevent中一致make; make install #編譯+安裝
測試是否安裝成功
通過以上操作,就完成了memcached服務器的安裝。特別的簡單吧!現在就來搞一搞memcache的php擴展安裝吧
3. 安裝擴展
cd /tmp #首先進入到該下載包的目錄tar zxvf memcache-3.0.8.tgz #解壓包cd memcache-3.0.8 #進入到解壓的目錄/opt/lampp/bin/phpize #動態為php添加擴展。phpize路徑可能不一致,請根據自己的實際情況./configure –enable-memcache –with-php-config=/opt/lampp/bin/php-config –with-zlib-dir #php-config請根據自己環境情況填寫make; make install #編譯+安裝
完成以上步驟時,心情愉悅的點擊了enter,準備喝口水瀟灑一下,結果出現了一下錯誤(這也是我寫這篇博客的原因,要不都懶得記錄了)
看了下代碼錯誤信息,說是zlib.h找不到。找不到就給他安一個嘛。真是的
安裝zlib
下載zlib-1.2.8.tar.gz
下載地址:http://www.zlib.net/
如圖:
cd /tmp #首先進入到該下載包的目錄tar zxvf zlib-1.2.8.tar.gz #解壓包cd zlib-1.2.8 #進入到解壓的目錄./configure --prefix=/usr/local/zlibmake; make install #編譯+安裝
再進行配置一下系統的文件,加載剛才編譯安裝的zlib生成的庫文件
vi /etc/ld.so.conf.d/zlib.conf
加入如下內容后保存退出: /usr/local/zlib/lib
也就是添加安裝目錄的文件路徑,庫文件。ldconfig 運行之后就會加載安裝的庫文件了。
OK,到這一步了,此時,重新在memcache的php擴展中執行make;make install命令
如果看到以下信息,表示成功:
首先通過phpinfo函數,找到php.ini的路徑,我的是:/opt/lampp/etc/php.ini
在其中添加如下內容:
修改extension_dir路徑:
extension_dir = “/opt/lampp/lib/php/extensions/no-debug-non-zts-20121212/” extension=memcache.so
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
然后重新啟動apache,再次通過phpinfo查看一下情況。如果有如下內容,表示配置成功:
![]()
參數說明:
-d選項是啟動一個守護進程,
-m是分配給Memcache使用的內存數量,單位是MB,我這里是10MB,
-u是運行Memcache的用戶,我這里是root,
-l是監聽的服務器IP地址,如果有多個地址的話,我這里指定了服務器的IP地址127.0.0.1,
-p是設置Memcache監聽的端口,我這里設置了11211,最好是1024以上的端口,
-c選項是最大運行的并發連接數,默認是1024,我這里設置了256,按照你服務器的負載量來設定,
-P是設置保存Memcache的pid文件,我這里是保存在 /tmp/memcached.pid
2. 結束memcached進行
kill cat /tmp/memcached.pid
3. 檢查memcached是否已經啟動
<?php $mem = new Memcache; $mem->connect("192.168.12.201", 13001); $mem->set('key','This is a test!', 0, 60); $val = $mem->get('key'); echo $val;?>
寫在后面:大家有興趣可以將session改為使用memcache來保存。php自身使用文件的方式,不太好,動不動文件大小總和就上G了。如果有朋友現在win環境下安裝,請參考:http://blog.csdn.net/hel12he/article/details/43758733
PHP編程鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答