傳統做法在每支 PHP 檔案頂部 require('header.php')、底部 require('footer.php'),不僅重複勞動,修改路徑更需全站搜尋取代。PHP 內建的 auto_prepend_file 與 auto_append_file 指令完美解決此問題。
auto_prepend_file:腳本執行前自動引入指定檔案auto_append_file:腳本執行後自動引入指定檔案require 多個檔案auto_prepend_file = "/home/fdipzone/header.php" auto_append_file = "/home/fdipzone/footer.php"
優點:效能最佳(啟動時處理一次);缺點:需管理員權限、影響全站、需重啟。
php_value auto_prepend_file "/home/fdipzone/header.php" php_value auto_append_file "/home/fdipzone/footer.php"
優點:無需重啟、無需管理員權限、彈性控制範圍;缺點:每請求皆解析 .htaccess,效能稍降。
ini_set('auto_prepend_file', '/path/header.php');
ini_set('auto_append_file', '/path/footer.php');
注意:ini_set 設定需在引入檔案之前執行,實務上極難把握時機,不建議使用。
系統標題 導覽列內容
$_SERVER['SCRIPT_NAME'] 若為登入頁則 return 跳過輸出ob_start() 可在 header 中修改 HTTP 標頭auto_prepend_file 載入 Profiler 類別,自動統計所有頁面執行時間namespace 宣告| 場景 | 建議方式 |
|---|---|
| 全站統一版型、權限檢查、日誌記錄 | php.ini |
| 特定模組(如後台)獨立版型 | .htaccess |
| 多租戶系統、動態主題切換 | 前端控制器模式替代 |
善用 auto_prepend_file/auto_append_file 可大幅減少樣板代碼,集中管理横切關注點。生產環境建議採 php.ini 方式以獲最佳效能;開發/測試環境或虛擬主機則用 .htaccess 靈活配置。