首頁 >後端開發 >PHP7 >PHP7下如何安裝memcache和memcached擴充

PHP7下如何安裝memcache和memcached擴充

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-06-25 09:15:472337瀏覽

memcache和memcached都是Memcached伺服器的PHP擴充。其中memcache比memcached早出現,所以有些舊的程式碼可能還在用memcache擴充。可以依自己需要,安裝一個即可。這裡兩個的安裝方法都說一下。

PHP7下如何安裝memcache和memcached擴充

Memcached 是高效能的分散式記憶體快取伺服器,而PHP memcache 和 memcached 都是 Memcached 伺服器的 PHP 擴充功能。其中memcache 比 memcached 早出現,所以有些舊的程式碼可能還在用 memcache 擴充。 memcached 後來出現,並且大部分框架都支援 memcached,現在相對較流行。

安裝依賴

首先是memcached,這個擴充功能需要libmemcached 用戶端函式庫,否則會出現如下錯誤

checking for libmemcached location… configure: error: memcached support 反射; failed

可以透過以下方法安裝

[root@lnmp lnmp.cn]# yum install libmemcached libmemcached-devel

#而memcache模組使用了函數zlib 來支援資料壓縮,因此安裝此模組需要安裝Zlib 模組。否則會出現以下錯誤:

checking for the location of zlib… configure: error: memcache support requires ZLIB. Use –with-zlib-dir= to specify prefix where ZLIB include and ZLIB include and library are located

ERROR: `/var/tmp/memcache/configure –enable-memcache-session=No' failed

#可以如下方法用yum 來安裝:

[root@lnmp lnmp.cn]# yum install zlib zlib-devel

安裝memcached 擴充功能

嘗試用PECL 安裝,memcached 在PECL 上的位址是:

https://pecl.php.net/package/memcached

#[root@lnmp lnmp.cn]# pecl install memcached

pecl/ memcached requires PHP (version >= 5.2.0, version #No valid packages found

install failed

[root@localhost vagrant]

##提示很明顯,PECL 上的memcached 擴充只支援PHP 5.2 以上,6.00 以下的版本。還未更新到 PHP7。不過還好的是在PECL 的memcached 頁面可以找到他們在github 上的連結:

https://github.com/php-memcached-dev/php-memcached

這上面的程式碼已經有可以支援到PHP7 的分支。這裡將原始碼統一下載到php 原始碼的ext 目錄:

[root@lnmp lnmp.cn]# cd /usr/local/src/php-7.0.8/ext/

[root@lnmp ext]# git clone https://github.com/php-memcached-dev/php-memcached memcached

[root@lnmp ext]# cd memcached/

checkout 到php7 分支:

[root@lnmp memcached]# git checkout php7

Branch php7 set up to track remote branch php7 from origin.

Switched to a new branch 'php7'

##[root@lnmp memcached]

#用phpize 安裝,我的PHP 是安裝在/usr/local/php7 下

[root@lnmp memcached]# /usr/local/php7/bin/phpize

[root@lnmp memcached]# ./configure –with-php-config=/usr /local/php7/bin/php-config

接著make 和make install

[root@lnmp memcached]# make

#[root@lnmp memcached]# make install

Installing shared extensions:     /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/

[root@lnmp memcached]

#可以看到memcached 已經安裝完成,並且擴充檔案已經放到提示的目錄:

[root@lnmp memcached] # ls /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/

memcached.so  opcache.a  opcache.so

#[root@lnmpmp memcached]

#最後一步在php.ini 中引入memcached.so

[root@lnmp memcached]# vim /usr/local/php7/lib/php .ini

加入:PHP7下如何安裝memcache和memcached擴充

extension=memcached.so

記得reload 一下php-fpm 才能生效

#[root@lnmp memcached]# systemctl reload php-fpm

#開啟phpinfo 頁面,已經看到memcached 擴充功能成功安裝了。

###### 安裝memcache 擴充功能######也嘗試用PECL 來安裝:#########[root@lnmp memcached]# pecl install memcache#########但同樣失敗########/tmp/pear/temp/memcache/memcache.c:40:40: fatal error: ext/standard/php_smart_str. h: No such file or directory###

 #include "ext/standard/php_smart_str.h"

                                                     ^

compilation 11ated.

#ERROR: `make' failed

看似原因也是PECL 還不支援在PHP7 下安裝memcache 擴充,

https://pecl.php.net/package /memcache

2013年以來為更新。此路不通只能另想辦法,同樣是到 github 上碰碰運氣。搜尋pecl memcache

https://github.com/search?utf8=✓&q=pecl memcache&type=Repositories&ref=searchresults

#其中第一個(https://github.com/websupport -sk/pecl-memcache)就是想要的,而且程式碼已經支援到PHP7,立即下載程式碼編譯:

[root@lnmp memcached]# cd ../

# [root@lnmp ext]# git clone https://github.com/websupport-sk/pecl-memcache memcache

[root@lnmp ext]# cd memcache

#用phpize 安裝,步驟和memcached 一模一樣

[root@lnmp memcache]# /usr/local/php7/bin/phpize

#[root@lnmp memcache]# ./configure – with-php-config=/usr/local/php7/bin/php-config

[root@lnmp memcache]# make

[root@lnmp memcache]# make install

Installing shared extensions:     /usr/local/php7/lib/php/extensions/no-debug-non-zts-20151012/

[root@lnmp memcache]

#類似memcached , 將memcache.so 在php.ini 中引入

#[root@lnmp memcache]# vim /usr/local/php7/lib/php.ini

#加入:

extension=memcache.so

#最後reload php-fpm

[root@lnmp memcache]# systemctl reload php-fpm

大功告成,可以在phpinfo 頁面看到memcahce 和memchaced 都已經成功安裝

推薦學習:PHP7下如何安裝memcache和memcached擴充php影片教學

以上是PHP7下如何安裝memcache和memcached擴充的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除