首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Linux 安裝 PHP Memcached 擴展完整指南:從 libmemcached 到 php.ini 生效

     編輯:PHP 相關知識

安裝鏈路依賴關係

PHP memcached 擴展 → 依賴 libmemcached 庫 → 依賴 Memcached 服務端

三者版本必須兼容,否則會出現 500 錯誤或功能缺失。

步驟 1:編譯安裝 libmemcached 客戶端庫

關鍵提示:避開 1.0.17 版本(已知 Bug),推薦 1.0.16。

wget -c https://launchpad.net/libmemcached/1.0/1.0.16/+download/libmemcached-1.0.16.tar.gz
tar -zxvf libmemcached-1.0.16.tar.gz
cd libmemcached-1.0.16
./configure --prefix=/usr/local/libmemcached --with-memcached
sudo make && sudo make install

步驟 2:安裝 PHP memcached 擴展(PECL)

wget -c https://pecl.php.net/get/memcached-2.2.0b1.tgz
tar -zxvf memcached-2.2.0b1.tgz
cd memcached-2.2.0b1

# phpize 由 PHP 安裝目錄提供
sudo /usr/local/php/bin/phpize
./configure --enable-memcached \
    --with-php-config=/usr/local/php/bin/php-config \
    --with-libmemcached-dir=/usr/local/libmemcached \
    --disable-memcached-sasl
sudo make && sudo make install

步驟 3:修改 php.ini 載入擴展

在 php.ini 中添加:

extension=memcached.so

重啟 PHP-FPM 与 Nginx:

sudo /etc/init.d/php-fpm restart
sudo /etc/init.d/nginx restart

步驟 4:驗證安裝成功

php -m | grep memcached
# 或瀏覽 phpinfo() 頁面,搜索 "memcached" 區塊

成功標誌:顯示 memcached support => enabled、版本號、libmemcached 版本、Session 支持等信息。

避坑指南:Memcache vs Memcached 類名混淆

// ❌ 錯誤:phpinfo 顯示 memcached 卻用 Memcache 類
$mem = new Memcache();  // 會報 500 錯誤

// ✅ 正確:對應 memcached 擴展
$mem = new Memcached();
$mem->addServer('127.0.0.1', 11211);
$mem->set('key', 'value', 60);
echo $mem->get('key');

架構關係圖解

  • Memcached 服務端:守護進程,監聽 11211 端口,存儲鍵值數據
  • libmemcached:C 語言客戶端庫,實現協議解析、一致性哈希、連接池
  • PHP memcached 擴展:封裝 libmemcached 為 PHP 類 Memcached,提供面向對象 API
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved