1. 程式人生 > >linux上安裝php7 memcache擴展 和 安裝服務端memcached

linux上安裝php7 memcache擴展 和 安裝服務端memcached

gre 加載 ins file wget phpize 一個 根據 虛擬

轉:https://www.cnblogs.com/hejun695/p/5369610.html

先說安裝服務端 memcached

1. 首先安裝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

2. 編譯安裝memcached

技術分享圖片
wget http://memcached.org/latest
cp latest memcached.tar.gz
tar -zxvf memcached.tar.gz
cd memcached
./configure -with-libevent=/usr/local/libevent   # ./configure
make && make install
技術分享圖片

3. 啟動memcached

/usr/local/memcached/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root   # (128為內存, 11211為端口,root為用戶組)

4. 開機/重啟後生效,編輯 /etc/rc.d/rc.local 文件,添加以下內容。

/usr/local/memcached/bin/memcached -d -m 128 -l 127.0.0.1 -p 11211 -u root

5. 查看是否啟動成功

ps aux|grep memcached

如圖則成功

技術分享圖片

-----------------------------------------------------------------------分割線-----------------------------------------------------------------------------------

下面則是php的擴展memcache安裝了。

用之前的php版本安裝是沒有問題,但是用了php7安裝 http://pecl.php.net/package/memcache 下的任一款memcache都會報錯

窮盡一切辦法之後發現了 Github的pecl-memcache分支版本

本地下載,https://github.com/websupport-sk/pecl-memcache/archive/php7.zip

1. rz命令 上傳至linux虛擬機上。

unzip pecl-memcache-php7.zip
cd pecl-memcache-php7
/usr/local/php/bin/phpize //可能報錯,看下面解決方法
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

ps:

運行/usr/local/webserver/php/bin/phpize時出現:
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
根據網上的解決辦法是:

# cd /usr/src
# wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
# tar -zvxf m4-1.4.9.tar.gz
# cd m4-1.4.9/
# ./configure && make && make install
# cd ../
# wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
# tar -zvxf autoconf-2.62.tar.gz
# cd autoconf-2.62/
# ./configure && make && make install
可愛的yum讓我更容易把沒安裝的包安裝好
 yum install m4
 yum install autoconf

2. 修改php.ini 加載Memcache組件

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

註!!!一定要確認有效的 php.ini的位置

查找php.ini位置的方法

1.寫一個測試文件,內容<?php phpinfo(); ?>,在第七八行左右,有“Loaded Configuration File”就標明了php.ini的位置。
2.沒指定php.ini或者找不到php.ini(none),php會按照默認配置運行的。

3. 重啟 php-fpm

kill -USR2 `cat /var/run/php-fpm.pid`

linux上安裝php7 memcache擴展 和 安裝服務端memcached