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

Ubuntu 編譯安裝 PHP 5.3.3 + Memcache 擴充完整步驟

     編輯:PHP 綜合知識

環境準備

sudo apt-get update
sudo apt-get install -y build-essential libxml2-dev libssl-dev libcurl4-openssl-dev \
    libjpeg-dev libpng-dev libfreetype6-dev libmcrypt-dev libreadline-dev \
    libbz2-dev libxslt-dev libzip-dev autoconf

編譯安裝 PHP 5.3.3

cd /usr/local/src
wget https://museum.php.net/php5/php-5.3.3.tar.gz
tar -zxvf php-5.3.3.tar.gz
cd php-5.3.3

./configure \
  --prefix=/usr/local/php-5.3.3 \
  --with-config-file-path=/usr/local/php-5.3.3/etc \
  --with-mcrypt \
  --with-gettext \
  --with-mysql=mysqlnd \
  --with-mysqli=mysqlnd \
  --with-pdo-mysql=mysqlnd \
  --with-gd \
  --with-jpeg-dir \
  --with-png-dir \
  --with-freetype-dir \
  --enable-gd-native-ttf \
  --enable-mbstring \
  --enable-sockets \
  --enable-fpm \
  --with-fpm-user=www-data \
  --with-fpm-group=www-data \
  --with-zlib \
  --with-curl \
  --with-openssl \
  --enable-bcmath \
  --enable-zip \
  --enable-pcntl

make -j$(nproc)
sudo make install

配置 php-fpm

sudo cp /usr/local/php-5.3.3/etc/php-fpm.conf.default /usr/local/php-5.3.3/etc/php-fpm.conf
# 編輯 pid、error_log、include 等
sudo cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
sudo chmod +x /etc/init.d/php-fpm
sudo update-rc.d php-fpm defaults

編譯安裝 Memcache 擴充 (非 Memcached)

cd /usr/local/src
wget https://pecl.php.net/get/memcache-3.0.8.tgz  # PHP 5.3 相容版本
tar -zxvf memcache-3.0.8.tgz
cd memcache-3.0.8

/usr/local/php-5.3.3/bin/phpize
./configure --with-php-config=/usr/local/php-5.3.3/bin/php-config
make && sudo make install

啟用擴充

# 編輯 php.ini
echo 'extension=memcache.so' | sudo tee -a /usr/local/php-5.3.3/etc/php.ini

# 驗證
/usr/local/php-5.3.3/bin/php -m | grep memcache
# 輸出 memcache 即成功

啟動 Memcached 服務 (伺服器端)

sudo apt-get install -y memcached
sudo systemctl enable memcached
sudo systemctl start memcached

# 測試
telnet 127.0.0.1 11211
# stats → 顯示版本資訊即正常

PHP 測試連線

<?php
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211) or die('連線失敗');
echo 'Version: ' . $mem->getVersion();
$mem->set('key', 'value', 0, 60);
echo $mem->get('key');
?>

⚠️ 重要提醒

  • PHP 5.3 已於 2014 年停止安全更新,生產環境**強烈建議升級至 PHP 8.1+**
  • 新專案請直接使用 apt install php8.3 php8.3-memcache (或 php-memcached)
  • 若必須維護舊專案,請將編譯好的 PHP 打包為 Docker 映像,隔離執行
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved