.env dosyalarını sunucuya göndermiyorum. Doğal olarak sunucuda .env olmayınca env('APP_NAME','Uygulama') gibi kullanılan yerlerde ikinci parametre alınıyor. Benim her türlü dev/prod işimi görüyor. Diğer arkadaş için .env 'in .env.backup diye bir kopyasını ekleyip gite gönderiyorum, arkadaş da .env.backup dosyasından kendi .env dosyasını oluşturuyor, genellikle benimki ile aynı oluyor. Siz bu sistemi kendinize göre değiştirmek istiyorsanız app/Http/Kernel.php dosyasına şunu ekleyin:
protected $bootstrappers = [
\Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables::class,
\Illuminate\Foundation\Bootstrap\LoadConfiguration::class,
\Illuminate\Foundation\Bootstrap\HandleExceptions::class,
\Illuminate\Foundation\Bootstrap\RegisterFacades::class,
\Illuminate\Foundation\Bootstrap\RegisterProviders::class,
\Illuminate\Foundation\Bootstrap\BootProviders::class,
];
Daha sonra app klasörü içinde istediğiniz yere kendi LoadEnvironmentVariables dosya ve sınıfınızı oluşturun, namespacei değiştirin, protected $bootstrappers içindeki yolu değiştirin. Örneğin
protected $bootstrappers = [
\App\LoadEnvironmentVariables::class,
\Illuminate\Foundation\Bootstrap\LoadConfiguration::class,
\Illuminate\Foundation\Bootstrap\HandleExceptions::class,
\Illuminate\Foundation\Bootstrap\RegisterFacades::class,
\Illuminate\Foundation\Bootstrap\RegisterProviders::class,
\Illuminate\Foundation\Bootstrap\BootProviders::class,
];
Sonra namespacei ayarlayın
app/LoadEnvironmentVariables.php
<?php
namespace App; // ⟵
use Dotenv\Dotenv;
...
Sonra nasıl istiyorsanız değiştirin.
Sunucuda kesinlikle .env dosyası kullanmıyorum çünkü .env dosyalarının okunması config/ içerisindeki dosyaların yüklenmesinden daha yavaş olduğu için bazen okuyamıyor, geç kalıyor, bu bilinen bir problem.