Memahami File .env di Laravel

  • author-image

    Kurnia Andi Nugroho

  • Laravel .env File .env laravel Belajar laravel
  • blog-comment 0 comment
  • dilihat 1183 kali
  • 18 Dec, 2025
blog-thumbnail

Memahami File .env di Laravel

Halo teman-teman

Di artikel ini kita akan membahas salah satu file paling penting di Laravel, yaitu file .env. Walaupun terlihat sederhana, file ini punya peran besar dalam menentukan bagaimana aplikasi Laravel kita berjalan di berbagai lingkungan, mulai dari lokal, staging, sampai production.

Anggap saja saya sedang menjelaskan di kelas ya, jadi kita bahas pelan-pelan, mengalir, dan mudah dipahami.


Apa Itu File .env?

Teman-teman, file .env adalah file environment configuration. Artinya, file ini digunakan untuk menyimpan konfigurasi aplikasi berdasarkan lingkungan (environment) tempat aplikasi dijalankan.

Contoh lingkungan:

  • local → laptop kita sendiri
  • development → server pengembangan
  • staging → server testing sebelum production
  • production → server live yang diakses user

Laravel memisahkan konfigurasi ini supaya:

  • kode tetap bersih
  • data sensitif aman
  • aplikasi mudah dipindahkan ke server lain

Kenapa File .env Sangat Penting?

Bayangkan kalau:

  • password database ditulis langsung di kode
  • API key payment gateway ikut ter-push ke GitHub

Bahaya, teman-teman

Dengan file .env, Laravel mengajarkan best practice sejak awal:

  • Data sensitif tidak ikut ke repository
  • Konfigurasi bisa berbeda di setiap server
  • Kode tetap sama, yang berubah hanya environment

Itulah kenapa file .env tidak boleh di-commit ke Git dan selalu masuk .gitignore.


Contoh Isi File .env

Mari kita lihat contoh sederhana:

APP_NAME=Laravel
APP_ENV=local
APP_KEY=base64:xxxxxxxx
APP_DEBUG=true
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Tenang, kita bahas satu per satu.


Konfigurasi Aplikasi (APP_*)

1. APP_NAME

Nama aplikasi Laravel kita. Biasanya muncul di title atau notifikasi.

APP_NAME="Aplikasi Akademik"

2. APP_ENV

Menentukan environment aplikasi:

APP_ENV=local

Nilai yang sering digunakan:

  • local
  • development
  • staging
  • production

Laravel akan menyesuaikan perilakunya berdasarkan nilai ini.


3. APP_KEY

Ini wajib ada, teman-teman.

Digunakan untuk:

  • enkripsi session
  • enkripsi cookie
  • keamanan data

Generate dengan perintah:

php artisan key:generate

Jangan pernah membagikan APP_KEY ke publik.


4. APP_DEBUG

APP_DEBUG=true
  • true → tampilkan error detail (untuk lokal)
  • false → sembunyikan error detail (wajib di production)

Ingat ya teman-teman, production HARUS false.


Konfigurasi Database (DB_*)

Bagian ini sangat sering kita ubah.

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_sekolah
DB_USERNAME=root
DB_PASSWORD=secret

Laravel akan membaca konfigurasi ini dan menghubungkannya ke database melalui file config/database.php.

Kalau database error, 90% masalahnya ada di .env


Environment Variable Lain yang Umum Digunakan

Mail (Email)

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

Cache & Session

CACHE_DRIVER=file
SESSION_DRIVER=file

Di production biasanya diganti menjadi redis atau database.


Payment Gateway / API Key

MIDTRANS_SERVER_KEY=xxxx
MIDTRANS_CLIENT_KEY=xxxx

Nah ini contoh alasan utama .env tidak boleh bocor.


Cara Mengakses .env di Laravel

Teman-teman tidak disarankan memanggil .env langsung.

Jangan seperti ini:

env('DB_DATABASE');

Yang benar:

config('database.connections.mysql.database');

Kenapa?

  • Laravel melakukan caching config
  • lebih aman
  • lebih konsisten

env() hanya digunakan di file config.


.env.example dan Kolaborasi Tim

Di dalam project Laravel biasanya ada file:

.env.example

Fungsinya:

  • sebagai template konfigurasi
  • aman untuk di-commit
  • memudahkan tim setup project

Flow yang benar:

  1. Clone project
  2. Copy .env.example → .env
  3. Sesuaikan konfigurasi
  4. Jalankan php artisan key:generate

Kesalahan Umum yang Sering Terjadi

Dalam praktiknya, banyak yang:

  1. Lupa generate APP_KEY

  2. Salah set DB_DATABASE

  3. Sudah ubah .env tapi lupa:

    php artisan config:clear
    
  4. APP_DEBUG=true di production

Hati-hati ya teman-teman.


Penutup

Jadi teman-teman, file .env adalah:

  • pusat konfigurasi aplikasi Laravel
  • penjaga data sensitif
  • kunci agar aplikasi bisa jalan di berbagai environment

Kalau kalian paham .env, insyaAllah 90% error awal Laravel bisa diatasi.

Semoga materi ini membantu, dan jangan ragu untuk eksplor lebih jauh konfigurasi Laravel lainnya. Sampai ketemu di artikel berikutnya

author_photo
Kurnia Andi Nugroho

Web & Mobile App Developer, Laravel, Inertia, Vue.Js, React.Js

Founder of Lagikoding.com Laravel Enthusiast & Web Developer