溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

yum安裝PHP的安裝memcache擴(kuò)展全攻略

發(fā)布時(shí)間:2020-10-25 18:09:03 來(lái)源:網(wǎng)絡(luò) 閱讀:595 作者:jamesrh 欄目:web開(kāi)發(fā)
  1. 下載libevent ,這個(gè)是memcache的支持。從網(wǎng)上找到源碼直接編譯安裝。注:CentOS默認(rèn)是安裝了的所以不需要再這一步。為測(cè)試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 (這個(gè)是給本機(jī)安裝memcache,如果裝php擴(kuò)展,可略)

 這個(gè)直接上memcache的官網(wǎng)上下載最新版本,然后解壓安裝

    # tar zxvf memcached-1.*.*.tar.gz 

    # cd memcached-1.*.*


下面這一步需要者注意的是libevent所在的目錄可能和下面的不同,可以通過(guò)whereis libevent來(lái)查看所在目錄
    # ./configure --prefix=/usr/local/memchached --with-libevent=/usr/local/libevent 

    # make;make install


3.安裝php的memcache擴(kuò)展

http://pecl.php.net/get/memcache-2.2.7.tgz (當(dāng)然也可以下載其他版本)

解壓目錄然后到目錄下然后執(zhí)行

先找出phpize(至于是干什么的自己搜索)所在位置whereis phpize ,如果沒(méi)有的話則執(zhí)行命令yum install php-devel   ,因?yàn)镻HPize 是屬于php 的 devel .

執(zhí)行phpize

執(zhí)行完畢后進(jìn)行編譯前的配置

 ./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir

(同樣這里需要你找出紅字部分所在位置)

make 

make install

然后會(huì)提示


安裝完后會(huì)有類(lèi)似這樣的提示:

Installing shared extensions:     /usr/lib/php/modules/

把這個(gè)記住,然后修改php.ini,把

extension_dir = "./"

修改為

extension_dir = "/usr/lib/php/modules/"

并添加一行

extension=memcache.so

——————————————————————————

到這基本就完成了,然后我們啟動(dòng)memcache,

memcache -uroot -p21003 -m1024 (如果直接這么執(zhí)行的話則這個(gè)窗口就沒(méi)法退出了還需要以守護(hù)進(jìn)程的方式運(yùn)行)

——————————————————————————————————

下面寫(xiě)一個(gè)php腳本


<?php
    $memcache = new Memcache; //創(chuàng)建一個(gè)memcache對(duì)象
    $memcache->connect('localhost', 11211) or die ("Could not connect"); //連接Memcached服務(wù)器
    $memcache->set('key', 'test'); //設(shè)置一個(gè)變量到內(nèi)存中,名稱(chēng)是key 值是test
    $get_value = $memcache->get('key'); //從內(nèi)存中取出key的值
    echo $get_value;
?>

 ——————————————————————————

然后這里可能會(huì)出現(xiàn)的問(wèn)題是 Failed reading line from stream (0)

出現(xiàn)這個(gè)問(wèn)題可能是因?yàn)?.內(nèi)存不夠了,你設(shè)置的內(nèi)存過(guò)大,崩潰了2.你不是以守護(hù)進(jìn)程執(zhí)行的,可能后臺(tái)的memcache已經(jīng)關(guān)閉了

ps aux|grep memcached


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI