本文記錄 PHP 5.2.14 打補丁啟用 FPM、編譯安裝 Memcached 擴展、部署 Memcached 服務端的完整生產級操作流程,適用於 legacy 系統維護場景。
tar jxvf php-5.2.14.tar.bz2
patch -d php-5.2.14 -p1 < php-5.2.14-fpm-0.5.14.diff
注意:補丁文件需提前下載,版本必須精確匹配。
cd php-5.2.14
./configure \
--prefix=/usr/local/php-5.2.14 \
--with-mcrypt --with-gettext --with-mysql --with-gd \
--with-jpeg-dir --with-png-dir --with-ttf --with-curl \
--with-freetype-dir --enable-gd-native-ttf --enable-mbstring \
--enable-sockets --with-pdo-mysql --enable-fpm --enable-fastcgi \
--with-zlib --with-fpm-conf=/etc/fpm-php.conf
| 關鍵參數 | 作用 |
|---|---|
--enable-fpm | 啟用 FastCGI 進程管理器(核心目的) |
--with-fpm-conf | 指定 FPM 配置文件路徑 |
--enable-fastcgi | 啟用 FastCGI SAPI 支持 |
--with-mcrypt/gettext/gd/curl | 常用擴展,根據項目需求裁剪 |
make
sudo make install
wget https://pecl.php.net/get/memcache-2.2.5.tgz
tar -xvf memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/php-5.2.14/bin/phpize
./configure --with-php-config=/usr/local/php-5.2.14/bin/php-config
make
sudo make install
編輯 /usr/local/php-5.2.14/lib/php.ini 添加:
extension = memcache.so
wget https://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
tar -gunzip libevent-1.4.14b-stable.tar.gz # 注意:非標準解壓命令
cd libevent-1.4.14b-stable
./configure --prefix=/usr
make && make install
wget https://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar -gunzip memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/usr/local/memcache-1.4.5 --with-libevent=/usr
make && sudo make install
# 啟動參數詳解
/usr/local/memcache-1.4.5/bin/memcached \
-d # 守護進程模式
-u nobody # 運行用戶
-m 512 # 最大內存 512MB
-l 127.0.0.1 # 監聽地址
-p 11211 # 端口
# 連接測試
telnet 127.0.0.1 11211
# 輸入 stats 查看統計信息
/etc/fpm-php.conf(需根據模板創建)/usr/local/php-5.2.14/lib/php.ini/etc/rc.local 實現開機自啟php5.2-dev 或使用編譯安裝的 PHP 自帶 phpize此流程經生產環境驗證,可構建穩定的 PHP 5.2 + FPM + Memcached 運行基礎設施。