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

Laravel 設定管理完整指南:環境配置與維護模式

     編輯:PHP 綜合知識

基本配置讀寫

// 讀取,支援點號語法穿透檔案
$timezone = Config::get('app.timezone');
$timezone = Config::get('app.timezone', 'UTC'); // 預設值

// 運行時動態設定(僅當前請求有效)
Config::set('database.default', 'sqlite');

環境配置

不同環境(開發、測試、生產)使用不同配置值:

  1. 在 app/config/ 下建立環境命名目錄,如 local/。
  2. 建立同名配置檔,僅覆蓋需變更的項目:
// app/config/local/cache.php
return ['driver' => 'file']; // 覆蓋基礎配置的 driver
環境配置以「層疊」方式覆蓋基礎配置,無需複製全部項目。

環境檢測

編輯 bootstrap/start.php:

$env = $app->detectEnvironment([
    'local' => ['your-machine-name'], // 主機名
]);

// 或使用閉包彈性判斷
$env = $app->detectEnvironment(function () {
    return $_SERVER['MY_LARAVEL_ENV'] ?? 'production';
});

獲取當前環境

$env = App::environment();
if (App::environment('local')) { ... }
if (App::environment(['local', 'staging'])) { ... }

維護模式

啟用後所有路由導向維護視圖,適合部署更新時暫時關閉:

// 啟用
php artisan down

// 關閉
php artisan up

自定義維護視圖

// app/start/global.php
App::down(function () {
    return Response::view('maintenance', [], 503);
});

// 閉包回傳 null 可略過維護模式(如白名單 IP)
App::down(function () {
    if (Request::ip() === '192.168.1.100') return null;
    return Response::view('maintenance', [], 503);
});

維護模式與佇列

維護模式啟用時,不接受新的佇列任務;退出維護模式後自動恢復處理。

最佳實踐建議

  • 敏感資訊(資料庫密碼、API 金鑰)絕不寫入版控,使用 .env 檔案(Laravel 5+ 內建支援)或環境變數。
  • app.debug 生產環境必須設為 false,避免洩露堆疊追蹤。
  • 配置快取:php artisan config:cache 加速生產環境載入(變更配置後需重新快取)。
  • 維護模式部署流程:down → 部署代碼/遷移資料庫 → up。

總結

Laravel 的配置系統支援環境隔離、動態覆蓋、維護模式,配合 .env 與配置快取,能滿足從開發到生產的完整部署需求。核心原則:配置與代碼分離、敏感資訊環境化、環境差異最小化。

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