Variabel Lingkungan dan File .env
Kelola konfigurasi sensitif dengan file .env dan pustaka dotenv dalam PHP.
Variabel Lingkungan dan File .env adalah pelajaran PHP Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar PHP Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus PHP Academy mencakup 4 pelajaran total.
Mengapa Menggunakan Variabel Lingkungan?
Menuliskan kredensial atau konfigurasi khusus lingkungan secara langsung di kode sumber tidak aman dan membuat penerapan menjadi rapuh. Variabel lingkungan memisahkan konfigurasi dari kode.
Berkas .env
Berkas .env berisi pasangan kunci-nilai yang dimuat ke lingkungan saat sistem dimulai. Tambahkan berkas ini ke .gitignore—NEVER lakukan commit ke pengendalian versi.
# .env
APP_ENV=production
APP_KEY=base64:...
DB_HOST=127.0.0.1
DB_NAME=myapp
DB_USER=myapp_user
DB_PASS=supersecret
REDIS_HOST=127.0.0.1
MAIL_HOST=smtp.mailtrap.ioIntegrasi .env Laravel
Laravel menggunakan vlucas/phpdotenv untuk memuat .env secara otomatis. Akses nilainya dengan fungsi pembantu env().
<?php
$host = env("DB_HOST", "127.0.0.1"); // "127.0.0.1" is the defaultconfig() vs env()
Gunakan env() hanya di dalam berkas config/*.php. Di tempat lain, gunakan config("database.host")—cara ini bekerja dengan benar saat konfigurasi di-cache.
<?php
// In config/database.php:
"host" => env("DB_HOST", "127.0.0.1")
// In your service classes:
$host = config("database.connections.mysql.host");Caching Konfigurasi
Cache konfigurasi untuk produksi agar penguraian .env tidak perlu dilakukan pada setiap permintaan.
$ php artisan config:cache
# After changing .env:
$ php artisan config:clearPHP Murni dengan phpdotenv
Gunakan vlucas/phpdotenv di luar Laravel.
$ composer require vlucas/phpdotenv
<?php
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$host = $_ENV["DB_HOST"];Variabel yang Wajib Diisi
Pastikan variabel lingkungan yang wajib tersedia saat sistem dimulai agar konfigurasi yang hilang dapat diketahui sejak awal.
<?php
$dotenv->required(["DB_HOST", "DB_NAME", "DB_USER", "DB_PASS"]);
$dotenv->required(["DB_PORT"])->isInteger();Berkas .env.example
Commit berkas .env.example yang berisi semua nama variabel tanpa nilainya. Pengembang menyalinnya ke .env lalu mengisi nilai mereka sendiri.
Variabel Lingkungan Tingkat Server
Dalam produksi, tetapkan variabel lingkungan pada tingkat server, seperti berkas layanan systemd, flag --env Docker, atau rahasia Kubernetes, bukan di dalam berkas .env.
# systemd service:
[Service]
Environment="APP_ENV=production"
Environment="DB_HOST=db.internal"Pengelolaan Rahasia
Untuk kredensial sensitif, seperti kunci API dan sertifikat, pertimbangkan pengelola rahasia: HashiCorp Vault, AWS Secrets Manager, atau rahasia GitHub Actions untuk integrasi berkelanjutan.
Ringkasan
Simpan semua konfigurasi khusus lingkungan di .env. Jangan pernah melakukan commit terhadapnya. Gunakan config() dalam kode aplikasi; gunakan env() hanya dalam berkas konfigurasi. Cache konfigurasi di produksi dengan php artisan config:cache.
Pemeriksaan Singkat
Di mana Anda harus memanggil env() dalam aplikasi Laravel?
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Variabel Lingkungan dan File .env” gratis?
Ya — teks lengkap “Variabel Lingkungan dan File .env” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus PHP Academy, upgrade ke CoddyKit PRO. Kursus PHP Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Variabel Lingkungan dan File .env”?
Kelola konfigurasi sensitif dengan file .env dan pustaka dotenv dalam PHP. Kamu berlatih PHP Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai PHP Academy?
Tidak diperlukan pengalaman sebelumnya. PHP Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Variabel Lingkungan dan File .env” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran PHP Academy ini?
Ya. Setiap pelajaran PHP Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Konfigurasi Nginx dan PHP-FPM
- Variabel Lingkungan dan File .env
- Menerapkan dengan GitHub Actions
- Membuat Aplikasi PHP dalam Docker