blog cover

Laravel Localhost İçin Ayrı Env Dosyası Oluşturma

14 Ocak 2023
Laravel

Bazı durumlarda sunucuda kullanılan ayarlar ile yerel sunucunuzda kullanılan ayarların farklı olmasını isteyebilirsiniz. Örneğin: yerel bir veri tabanı kullanıyorsanız.

Bu durumda localhost için ayrı sunucu için ayrı bir .env dosyası oluşturmak işe yarayabilir. Bunun için yapmanız gereken : .env.local (yada istediğiniz herhangi bir isim de olabilir. Ben bu isimi daha anlaşılabilir olduğu için tercih ettim.) adında bir dosya oluşturmak, ya da isterseniz ".env"yi kopyalayıp içeriğini de değiştirebilirsiniz. Sonrasında bootstrap/app.php dosaysına aşağıdaki kodu eklemek. 


<?php
/*
|--------------------------------------------------------------------------
| Create The Application
|--------------------------------------------------------------------------
|
| The first thing we will do is create a new Laravel application instance
| which serves as the "glue" for all the components of Laravel, and is
| the IoC container for the system binding all of the various parts.
|
*/
$app = new Illuminate\Foundation\Application(
    $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
// load different enviroment file for localhost
if(file_exists(getcwd()."/.env.local")) $app->loadEnvironmentFrom('.env.local');


Burda dikkat etmeniz gereken husus env.local dosyasını sadece yerel sunucuda bulundurmanızın gerektiğidir. Asıl sunucuya bu dosyayı yüklememelisiniz çünkü koddan da anlayabileceğiniz gibi sistem bu dosyayı tespit ettiği anda env ayarlarını buradan yüklüyor.