Ortam Değişkenleri ve .env Dosyaları
Hassas yapılandırmaları PHP'de .env dosyaları ve dotenv kitaplıklarıyla yönetin.
Ortam Değişkenleri ve .env Dosyaları, CoddyKit'te ücretsiz bir PHP Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, PHP Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. PHP Academy kursu toplamda 4 dersten oluşur.
Ortam Değişkenleri Neden Kullanılır?
Kimlik bilgilerini veya ortama özgü yapılandırmayı kaynak koduna sabitlemek güvenli değildir ve dağıtımları kırılgan hâle getirir. Ortam değişkenleri yapılandırmayı koddan ayırır.
.env Dosyası
Bir .env dosyası, başlangıç sırasında ortama yüklenen anahtar-değer çiftlerini içerir. Dosyayı .gitignore'a ekleyin — sürüm denetimine ASLA göndermeyin.
# .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.ioLaravel .env Tümleştirmesi
Laravel, .env dosyasını otomatik olarak yüklemek için vlucas/phpdotenv kullanır. Değerlere env() yardımcı işleviyle erişin.
<?php
$host = env("DB_HOST", "127.0.0.1"); // "127.0.0.1" is the defaultconfig() ve env()
env() işlevini yalnızca config/*.php dosyalarında kullanın. Diğer her yerde config("database.host") kullanın — bu, yapılandırma önbelleğe alındığında doğru şekilde çalışır.
<?php
// In config/database.php:
"host" => env("DB_HOST", "127.0.0.1")
// In your service classes:
$host = config("database.connections.mysql.host");Yapılandırmayı Önbelleğe Alma
Her istekte .env dosyasını ayrıştırmayı atlamak için üretim yapılandırmasını önbelleğe alın.
$ php artisan config:cache
# After changing .env:
$ php artisan config:clearphpdotenv ile Saf PHP
Laravel dışında phpdotenv kullanın.
$ composer require vlucas/phpdotenv
<?php
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();
$host = $_ENV["DB_HOST"];Zorunlu Değişkenler
Eksik yapılandırmayı erkenden yakalamak için zorunlu ortam değişkenlerini başlangıçta doğrulayın.
<?php
$dotenv->required(["DB_HOST", "DB_NAME", "DB_USER", "DB_PASS"]);
$dotenv->required(["DB_PORT"])->isInteger();.env.example Dosyası
Tüm değişken adlarını içeren, ancak değer içermeyen bir .env.example dosyasını depoya gönderin. Geliştiriciler bu dosyayı .env dosyasına kopyalayıp kendi değerlerini ekler.
Sunucu Düzeyindeki Ortam Değişkenleri
Üretimde ortam değişkenlerini bir .env dosyası yerine sunucu düzeyinde ayarlayın (systemd hizmet dosyaları, Docker --env seçenekleri, Kubernetes gizli bilgileri).
# systemd service:
[Service]
Environment="APP_ENV=production"
Environment="DB_HOST=db.internal"Gizli Bilgileri Yönetme
Hassas kimlik bilgileri (API anahtarları, sertifikalar) için bir gizli bilgi yöneticisi kullanmayı düşünün: HashiCorp Vault, AWS Secrets Manager veya sürekli tümleştirme için GitHub Actions gizli bilgileri.
Özet
Ortama özgü tüm yapılandırmayı .env içinde saklayın. Asla depoya göndermeyin. Uygulama kodunda config() kullanın; env() işlevini yalnızca yapılandırma dosyalarında çağırın. Üretimde php artisan config:cache ile yapılandırmayı önbelleğe alın.
Hızlı Kontrol
Bir Laravel uygulamasında env() çağrısını nerede yapmalısınız?
Sıkça Sorulan Sorular
“Ortam Değişkenleri ve .env Dosyaları” dersi ücretsiz mi?
Evet — “Ortam Değişkenleri ve .env Dosyaları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve PHP Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. PHP Academy kursu toplamda 4 dersten oluşur.
“Ortam Değişkenleri ve .env Dosyaları” dersinde ne öğreneceğim?
Hassas yapılandırmaları PHP'de .env dosyaları ve dotenv kitaplıklarıyla yönetin. PHP Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
PHP Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te PHP Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.
“Ortam Değişkenleri ve .env Dosyaları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu PHP Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her PHP Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Nginx ve PHP-FPM Yapılandırması
- Ortam Değişkenleri ve .env Dosyaları
- GitHub Actions ile Dağıtım
- PHP Uygulamasını Docker'a Taşıma