更新日期:2023-07-31

使用 .env 環境變數可以更好地管理敏感數據、提高系統的安全性,同時也方便了環境配置的管理和部署。優點大概是以下幾點:

  1. 隱藏敏感信息:通常在開發過程中,需要使用敏感的 API 金鑰、密碼等,為了避免這些數據被暴露出去,可以將其保存在 .env 文件中,而不是直接寫在代碼中。
  2. 方便管理:使用 .env 文件可以更加方便地管理和修改不同環境下的配置信息,如開發、生產等。
  3. 方便部署:在部署至不同環境時,只需要修改 .env 文件中的配置,而不需要修改代碼,這樣可以節省維護的時間和成本。
  4. 提升安全性:如果敏感數據被寫在代碼中,一旦暴露,就會對系統造成很大的安全風險。而使用 .env 檔案則可以提高安全性,幾乎無法直接訪問其內容。

安裝套件 phpdotenv

這不是外掛,需用 composer 安裝,若你原本有用它安裝過一些套件,請自行選擇目錄來安裝。

$ composer require vlucas/phpdotenv

新增 .env 文件

注意一下 .env 檔案存放位置,不要放在網址可碰觸的地方。這個檔案內容可以放一些 wp-config.php 的定義參數,例如資料庫名稱、帳號、密碼等等。

DB_NAME="mydbname"
DB_USER="myaccount"
DB_PASSWORD="mypassword"

WP_HOME="https://localhost:8080"

編輯 wp-config.php 內容

打開 wp-config.php 檔案,我們要在檔案的最前面使用剛剛安裝的套件:

<?php
// 載入 composer 安裝的套件,請自行填寫 autoload.php 正確位置
require_once dirname( __DIR__ ) . '/vendor/autoload.php';
// 填寫 .env 文件的放置目錄
$dotenv = Dotenv\Dotenv::createImmutable(dirname(__DIR__));
$dotenv->load();

修改參數

用 $_ENV[‘xxxxx’] 替換原來的字串

// define( 'DB_NAME', 'mydbname' );
define( 'DB_NAME', $_ENV['DB_NAME'] );

// define( 'DB_USER', 'myaccount' );
define( 'DB_USER', $_ENV['DB_NAME'] );
......