/usr/local/src/php-5.2.13/usr/local/phpautoconf、gcc、gcc-c++# 進入擴展原始碼目錄
cd /usr/local/src/php-5.2.13/ext/mbstring/
# 檢查並安裝編譯依賴
rpm -qa | egrep "autoconf|gcc"
yum -y install autoconf gcc gcc-c++ # 若缺少則安裝
# 生成 configure 腳本
/usr/local/php/bin/phpize
# 配置編譯參數(指定 php-config 路徑)
./configure --with-php-config=/usr/local/php/bin/php-config
# 編譯並安裝
make && make install
編譯成功後,在 php.ini 加入:
extension=mbstring.so
重啟 Web 服務(Apache/Nginx/PHP-FPM),以 phpinfo() 驗證 mbstring 區塊出現即完成。
wget https://curl.haxx.se/download/curl-7.19.6.tar.gz
tar -zxvf curl-7.19.6.tar.gz
cd curl-7.19.6
./configure --prefix=/usr/local/curl
make && make install
cd /usr/local/src/php-5.2.13/ext/curl
/usr/local/php/bin/phpize
./configure --with-curl=/usr/local/curl --with-php-config=/usr/local/php/bin/php-config
make && make install
生成的 curl.so 會自動複製至 PHP 擴展目錄(如 /usr/local/php/extensions/no-debug-non-zts-20090626/)。
extension_dir = "/usr/local/php/extensions/"
extension = curl.so
# 檢查 PHP 版本與模組載入狀況
/usr/local/php/bin/php -v
# 若報錯「Cannot find autoconf」,請安裝 autoconf
yum install autoconf # CentOS/RHEL
apt-get install autoconf # Ubuntu/Debian
| 錯誤現象 | 可能原因 | 解決方式 |
|---|---|---|
| phpize: command not found | 未安裝 php-devel 或路徑未加入 PATH | yum install php-devel / 使用完整路徑 /usr/local/php/bin/phpize |
| configure: error: libcurl not found | cURL 函式庫未安裝或路徑錯誤 | 確認 --with-curl 指向正確的 cURL 安裝目錄 |
| extension 載入失敗 | extension_dir 設定錯誤或 .so 檔不存在 | 用 php -i | grep extension_dir 確認路徑 |
現代 PHP 版本建議直接使用套件管理器安裝:
# Ubuntu/Debian
apt-get install php-mbstring php-curl
# CentOS/RHEL (EPEL)
yum install php-mbstring php-curl
# Alpine
apk add php8-mbstring php8-curl
手動編譯僅適用於特定版本需求或無套件管理器的環境。