PHP 原始碼編譯安裝時,透過 ./configure 指定參數可啟用/停用功能、指定依賴庫路徑。本文彙整常用配置選項,供部署與維護參考。
| 選項 | 語法 | 說明 | 範例 |
|---|---|---|---|
| Apache 模組 | --with-apache=DIR | 編譯為 Apache 模組,DIR 為 Apache 安裝目錄 | |
| fhttpd 模組 | --with-fhttpd=DIR | 支援 fhttpd 伺服器模組模式 |
| 資料庫 | 選項 | 說明 | 範例 |
|---|---|---|---|
| MySQL | --with-mysql=DIR | 啟用 MySQL 支援 | |
| PostgreSQL | --with-pgsql=DIR | 啟用 PostgreSQL 支援 | |
| Oracle | --with-oracle=DIR | Oracle 7.3+,可用 ORACLE_HOME 環境變數 | |
| SQLite / PDO | --with-pdo-sqlite | 啟用 PDO SQLite 驅動 | - |
| ODBC 通用 | --with-unixODBC=DIR | 支援 unixODBC | |
| 停用統一 ODBC | --disable-unified-odbc | 停用所有內建 ODBC 驅動 | - |
| 功能 | 選項 | 說明 |
|---|---|---|
| XML 支援 | --with-xml | 啟用 James Clark 的 XML 解析器 (Expat) |
| 正則表達式 | --with-system-regex | 使用系統 regex 庫而非內建 |
| 多位元數學 | --enable-bcmath | 啟用 BCMath 高精度數學函式 |
| 安全模式 | --enable-safe-mode | 啟用安全模式 (PHP 5.4+ 已移除) |
| 變數追蹤 | --enable-track-vars | 啟用 $HTTP_GET_VARS 等 (PHP 4.1+ 預設開啟) |
| 魔術引號 | --enable-magic-quotes | 自動跳脫引號 (PHP 5.4+ 已移除) |
| 除錯模式 | --enable-debug | 編譯除錯符號,輸出詳細錯誤 |
| CGI 強制重導 | --enable-force-cgi-redirect | CGI 模式下增強安全性 |
| 短標籤 | --disable-short-tags | 禁用 <? ?>,強制使用 <?php ?> |
| 遠端檔案包含 | --enable-url-includes | 允許 include/require 遠端 URL (極度不建議開啟) |
--with-config-file-path=DIR:指定 php.ini 搜尋路徑 (預設 /usr/local/lib)--with-exec-dir=DIR:限制 PHP 腳本執行目錄 (安全用途)CPPFLAGS=-I/path/include LDFLAGS=-L/path/lib ./configure:指定非標準路徑的標頭檔與庫檔模組模式 (mod_php):Web 伺服器啟動時讀取 php.ini,修改後需重啟伺服器。
CGI/FastCGI 模式:每次請求重讀 php.ini,修改即時生效。
執行 php -i 或在腳本中呼叫 phpinfo() 可查看完整編譯參數與運行配置。