PHP Academy · Pelajaran

Pemboleh Ubah Persekitaran dan Fail .env

Urus konfigurasi sensitif dengan fail .env dan pustaka dotenv dalam PHP.

Pelajaran 2 daripada 412 langkah

Pemboleh Ubah Persekitaran dan Fail .env ialah pelajaran PHP Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran PHP Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.

Mengapa Menggunakan Pemboleh Ubah Persekitaran?

Menyematkan kelayakan atau konfigurasi khusus persekitaran secara keras dalam kod sumber adalah tidak selamat dan menjadikan penerapan rapuh. Pemboleh ubah persekitaran mengasingkan konfigurasi daripada kod.

Fail .env

Fail .env mengandungi pasangan kunci-nilai yang dimuatkan ke dalam persekitaran semasa permulaan. Tambahkannya ke .gitignore — NEVER serahkannya kepada kawalan 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.io

Integrasi .env Laravel

Laravel menggunakan vlucas/phpdotenv untuk memuatkan .env secara automatik. Akses nilainya dengan pembantu env().

<?php
$host = env("DB_HOST", "127.0.0.1"); // "127.0.0.1" is the default

config() berbanding env()

Gunakan env() hanya dalam fail config/*.php. Di tempat lain, gunakan config("database.host") — cara ini berfungsi dengan betul bersama caching konfigurasi.

<?php
// In config/database.php:
"host" => env("DB_HOST", "127.0.0.1")

// In your service classes:
$host = config("database.connections.mysql.host");

Menyimpan Konfigurasi dalam Cache

Simpan konfigurasi dalam cache untuk produksi supaya penghuraian .env pada setiap permintaan dapat dielakkan.

$ php artisan config:cache
# After changing .env:
$ php artisan config:clear

PHP Biasa dengan phpdotenv

Gunakan vlucas/phpdotenv di luar Laravel.

$ composer require vlucas/phpdotenv

<?php
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$host = $_ENV["DB_HOST"];

Pemboleh Ubah Wajib

Paksa pemboleh ubah persekitaran wajib ditetapkan semasa permulaan untuk mengesan konfigurasi yang hilang lebih awal.

<?php
$dotenv->required(["DB_HOST", "DB_NAME", "DB_USER", "DB_PASS"]);
$dotenv->required(["DB_PORT"])->isInteger();

Fail .env.example

Serahkan fail .env.example yang mengandungi semua nama pemboleh ubah tetapi tiada nilai. Pembangun menyalinnya ke .env dan mengisi nilai mereka sendiri.

Pemboleh Ubah Persekitaran pada Tahap Pelayan

Dalam produksi, tetapkan pemboleh ubah persekitaran pada tahap pelayan (fail perkhidmatan systemd, bendera Docker --env, rahsia Kubernetes) dan bukannya dalam fail .env.

# systemd service:
[Service]
Environment="APP_ENV=production"
Environment="DB_HOST=db.internal"

Pengurusan Rahsia

Untuk kelayakan sensitif (kunci API, sijil), pertimbangkan pengurus rahsia: HashiCorp Vault, AWS Secrets Manager atau rahsia GitHub Actions untuk CI.

Ringkasan

Simpan semua konfigurasi khusus persekitaran dalam .env. Jangan sekali-kali serahkannya. Gunakan config() dalam kod aplikasi; env() hanya dalam fail konfigurasi. Simpan konfigurasi dalam cache untuk produksi dengan php artisan config:cache.

Semakan Ringkas

Di manakah anda patut memanggil env() dalam aplikasi Laravel?

Percuma untuk bermula

Pelajari PHP dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
49
Pelajaran
195

Soalan Lazim

Adakah pelajaran “Pemboleh Ubah Persekitaran dan Fail .env” percuma?

Ya — teks penuh “Pemboleh Ubah Persekitaran dan Fail .env” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus PHP Academy, tingkat taraf kepada CoddyKit PRO. Kursus PHP Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pemboleh Ubah Persekitaran dan Fail .env”?

Urus konfigurasi sensitif dengan fail .env dan pustaka dotenv dalam PHP. Anda berlatih PHP Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan PHP Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran PHP Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Pemboleh Ubah Persekitaran dan Fail .env” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran PHP Academy ini?

Ya. Setiap pelajaran PHP Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Konfigurasi Nginx dan PHP-FPM
  2. Pemboleh Ubah Persekitaran dan Fail .env
  3. Melaksanakan dengan GitHub Actions
  4. Mendockerkan Aplikasi PHP
← Kembali ke PHP Academy