1. 程式人生 > >PHP7.0.12 安裝memcache

PHP7.0.12 安裝memcache

HUST OJ因為明天比賽人數較多,怕影響參賽者的重新整理頁面速度,所以加個Memcache快取。一開始yum安裝,因為php版本比較高。而預設的二進位制版memcache是由低版本編譯的,所以就造成 Class ‘Memcache’not found的錯誤。

# cd /usr/local/src
# wget https://github.com/websupport-sk/pecl-memcache/archive/php7.zip 
# unzip php7.zip 
# cd  pecl-memcache-php7
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install

在php.ini的最下面新增

[memcache]
extension_dir = "/usr/local/php70/lib/php/extensions/no-debug-non-zts-20151012/"
extension = "memcache.so"

配置Memcached的步驟
首先安裝Libevent事件觸發管理器。

# wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar vxf libevent-2.0.21-stable.tar.gz
cd libevent-2.0
.21-stable ./configure -prefix=/usr/local/libevent # ./configure # make && make install # yum install libevent-devel

編譯安裝Memcache

wget http://memcached.org/files/memcached-1.4.25.tar.gz
tar vxf memcached-1.4.25.tar.gz
cd memcached-1.4.25
./configure -with-libevent=/usr/local/libevent   # ./configure
# make && make install

啟動Memcache

# /usr/local/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root   # (128為記憶體, 11211為埠,root為使用者組)

驗證啟動:

ps aux|grep memcached

這裡寫圖片描述

重啟php-fpm ,重新載入nginx

# pkill php-fpm
# /usr/local/php/sbin/php-fpm 
# /usr/local/src/nginx/sbin/nginx -s reload

瀏覽器訪問test.php,檔案內容,檢測是否整合php

<?php
    $mem = new memcache;
    $mem->connect('localhost', 11211);
    $mem->set('key', 'cbam_liangshu!');
    $val = $mem->get('key');
    echo $val;
?>

安裝完成,此時可以通過telnet 連線memcache伺服器並 通過stats命令檢視Memcache的工作狀態。