Cách tạo và sử dụng environment variables trong WordPress

Environment Variables (biến môi trường) là một cách hiệu quả để lưu trữ các thông tin cấu hình như key API, database, chế độ debug… tách biệt khỏi mã nguồn. Trong WordPress, việc sử dụng biến môi trường giúp bảo mật tốt hơn và dễ dàng triển khai nhiều môi trường (local, staging, production).

Cách tạo và sử dụng environment variables trong WordPress

1. Tại sao nên dùng Environment Variables?

  • Tránh lưu thông tin nhạy cảm trực tiếp trong code (API key, DB credentials…)
  • Tách biệt rõ môi trường dev/staging/prod mà không sửa file code mỗi lần
  • Dễ tích hợp với các dịch vụ CI/CD, Docker hoặc hệ thống version control

Ví dụ: Trong môi trường local bạn có thể bật WP_DEBUG, nhưng production thì không.

2. Tạo file .env và sử dụng thư viện PHP dotenv

WordPress không hỗ trợ sẵn đọc biến môi trường từ file .env, vì vậy bạn nên cài thư viện vlucas/phpdotenv:

composer require vlucas/phpdotenv

Trong thư mục gốc của site (nơi có wp-config.php), tạo file .env:

# .env
APP_ENV=local
WP_DEBUG=true
API_KEY=abc123xyz
CUSTOM_ENDPOINT=https://api.domain.com

3. Tích hợp dotenv vào wp-config.php

// wp-config.php (phần đầu file)
if (file_exists(__DIR__ . '/vendor/autoload.php')) {
  require_once __DIR__ . '/vendor/autoload.php';
  $dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
  $dotenv->load();
}

Giờ bạn có thể sử dụng các biến này như sau:

define('WP_DEBUG', filter_var($_ENV['WP_DEBUG'] ?? false, FILTER_VALIDATE_BOOLEAN));
define('APP_ENV', $_ENV['APP_ENV'] ?? 'production');

$api_key = $_ENV['API_KEY'] ?? '';
$custom_endpoint = $_ENV['CUSTOM_ENDPOINT'] ?? 'https://default.domain.com';

4. Dùng biến môi trường trong theme/plugin

Chỉ cần đảm bảo bạn đã load .env từ wp-config.php, các biến $_ENV có thể dùng ở bất kỳ đâu:

// Trong theme/plugin
$api = $_ENV['API_KEY'] ?? null;
if ($api) {
  // gửi request...
}

5. Không dùng Composer? Có cách khác?

Nếu bạn không dùng Composer, bạn có thể viết đoạn code đọc file .env đơn giản như sau:

// functions/load-env.php
$env = parse_ini_file(__DIR__ . '/../.env');
foreach ($env as $key => $val) {
  $_ENV[$key] = $val;
}

Và load file đó từ wp-config.php:

require_once __DIR__ . '/functions/load-env.php';

6. Lưu ý bảo mật

Đảm bảo file .env không bị public – thêm dòng này vào .htaccess:

<Files .env>
  Order allow,deny
  Deny from all
</Files>

Không commit file .env lên Git – thêm vào .gitignore

.env
.env.*

Kết luận

Biến môi trường là cách làm chuyên nghiệp và an toàn hơn khi phát triển WordPress. Dù bạn đang làm site đơn giản hay xây dựng hệ thống phức tạp với nhiều môi trường, việc triển khai .env ngay từ đầu sẽ giúp bạn tiết kiệm thời gian, tránh sai sót và bảo mật tốt hơn.

Bình luận


  • Không có bình luận.

Init Toolbox

Nhấn Ctrl + \ trên máy tính, hoặc vuốt sang trái ở bất kỳ đâu trên mobile.

Đăng nhập





Đang tải...