安裝成功後在 data/install.lock 建立鎖定檔案,入口檔案檢查該檔案是否存在,決定導向安裝頁或正常執行。
安裝程式完成時建立鎖定檔
// install/controller/StepController.php 最後一步 public function complete() { // ... 執行 SQL、建立配置檔 ... $lockFile = ROOT . 'data/install.lock'; @mkdir(dirname($lockFile), 0755, true); file_put_contents($lockFile, date('Y-m-d H:i:s') . "\nVersion: 1.0"); $this->success('安裝完成', 'index.php'); }進階:防止重複安裝與安全加固
if (IS_INSTALLED) exit; 保護。display_errors,避免洩露路徑資訊。| 方式 | 優點 | 缺點 |
|---|---|---|
| 檢查配置檔 (config.php) | 直觀 | 配置檔可能被手動建立 |
| 檢查資料庫表是否存在 | 確實 | 需建立 DB 連線,效能稍低 |
| 檢查 .install.lock 檔案 (推薦) | 輕量、快速、不依賴 DB | 需確保 data 目錄可寫 |