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

PHP 編譯參數完整中文對照表與選型指南

     編輯:PHP 相關知識

PHP 原始碼編譯安裝時,./configure 參數決定了最終二進位檔包含的功能模組、擴展支援與效能特性。本文整理常用編譯參數的中文說明、依賴關係與選型建議,協助依專案需求客製化 PHP 建置。

核心路徑與基礎設定

參數說明範例
--prefixPHP 安裝根目錄--prefix=/usr/local/php
--with-config-file-pathphp.ini 搜尋路徑--with-config-file-path=/usr/local/php/etc
--with-apxs2整合 Apache 模組(需 Apache 啟用 mod_so)--with-apxs2=/usr/local/apache/bin/apxs
--with-apache靜態編譯為 Apache 模組(舊版用法)--with-apache=/usr/local/apache

資料庫擴展

參數說明備註
--with-mysqlMySQL 原生驅動支援指定 MySQL 安裝路徑
--with-mysqliMySQL Improved 擴展(支援預處理、事務)--with-mysqli=/usr/local/mysql/bin/mysql_config
--with-pdo-mysqlPDO MySQL 驅動現代專案建議使用 PDO
--with-mysql-sock指定 MySQL socket 檔案位置避免連線找不到 socket
--with-pgsqlPostgreSQL 支援
--with-sqlite3SQLite 3 支援

常用功能模組

參數功能相依套件
--enable-mbstring多位元組字串處理(中文必備)--
--enable-bcmath高精度數學運算--
--enable-socketsSocket 網路程式設計--
--enable-ftpFTP 客戶端功能--
--enable-zipZIP 壓縮/解壓libzip
--enable-calendar行曆轉換功能--
--enable-exif圖片 EXIF 資訊讀取--
--enable-soapSOAP Web Servicelibxml2
--enable-shmop共享記憶體操作--
--enable-sysvsemSystem V 信號量--
--enable-sysvshmSystem V 共享記憶體--
--enable-pcntl行程控制(fork、signal)僅 Unix/Linux
--enable-inline-optimization編譯器優化GCC 支援

圖形處理與字型

參數功能相依套件
--with-gdGD 圖形庫支援gd-devel
--enable-gd-native-ttfTrueType 字型支援freetype
--with-freetype-dir指定 FreeType 路徑
--with-jpeg-dirJPEG 支援libjpeg
--with-png-dirPNG 支援libpng
--with-xpm-dirXPM 支援
--with-webp-dirWebP 支援libwebp

加密與壓縮

參數功能相依套件
--with-opensslOpenSSL 加密/SSLopenssl-devel
--with-mhashMhash 雜湊演算法mhash
--with-mcryptMcrypt 加密演算法libmcrypt
--with-zlibZlib 壓縮zlib-devel
--with-bz2Bzip2 壓縮bzip2-devel
--with-curlcURL 傳輸庫curl-devel
--with-curlwrappers使用 cURL 開啟 URL Stream需搭配 --with-curl

XML 與國際化

參數功能相依套件
--with-libxml-dirlibxml2 XML 解析器libxml2-devel
--with-xmlrpcXML-RPC 支援libxml2
--with-xslXSLT 轉換libxslt
--with-gettextGNU Gettext 國際化gettext-devel
--with-iconv字元集轉換(預設啟用)libiconv

CGI / FPM 部署模式專用

參數說明
--enable-fpm啟用 PHP-FPM(需打補丁或 PHP 5.3.3+ 內建)
--enable-fastcgi啟用 FastCGI 支援
--enable-force-cgi-redirect強制 CGI 重導向安全機制
--with-ncurses終端機畫面繪製庫

安全與除錯

參數說明建議
--enable-safe-mode安全模式(PHP 5.4 已移除)不建議使用
--disable-short-tags禁用短標籤 <? ?>建議啟用,避免 XML 衝突
--disable-debug關閉除錯模式生產環境必開
--disable-rpath不嵌入執行時庫搜尋路徑建議啟用
--enable-debug開啟除錯符號僅開發/除錯用

典型編譯命令範例

./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/tmp/mysql.sock \
--enable-mbstring \
--enable-bcmath \
--enable-sockets \
--enable-ftp \
--enable-zip \
--enable-calendar \
--enable-exif \
--enable-soap \
--enable-shmop \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-inline-optimization \
--with-gd \
--enable-gd-native-ttf \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-webp-dir \
--with-openssl \
--with-mhash \
--with-mcrypt \
--with-zlib \
--with-bz2 \
--with-curl \
--with-curlwrappers \
--with-libxml-dir \
--with-xmlrpc \
--with-xsl \
--with-gettext \
--disable-short-tags \
--disable-rpath \
--disable-debug \
--enable-fpm

注意事項

  • mysqlnd:PHP 5.3+ 內建 MySQL Native Driver,無需外部 MySQL 庫,效能更好,建議使用 --with-mysql=mysqlnd。
  • 互斥參數:指定 --with-apxs2 後,勿同時啟用 --enable-fpm、--enable-fastcgi,兩者部署模式衝突。
  • 依賴安裝:編譯前務必安裝對應 -devel 套件(CentOS/RHEL)或 -dev 套件(Debian/Ubuntu)。
  • make && make install 前可執行 make test 驗證核心功能。

依專案實際需求裁剪編譯參數,可減少記憶體佔用、縮小攻擊面、提升效能,是 PHP 部署優化的關鍵步驟。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved