Merhaba arkadaşlar,
Laravel 5 konusunda hala bilgi eksiklileri ve kafa karışıklıkları var. Bunlardan en önemlisi
.env dosyası nedir, Veritabanına nasıl bağlanırım, localhost ya da hosting için ne ayar yapmalıyım gibi. Aslında çok kolay.
Laravel ilk kurduğunuzda ana dizinde
.env.example isimdi bir dosya ile gelir. Bu dosya işlevsizdir. Ancak
silmeyin, bunu sonra kullanacağız.
Localhost için Veritabanı bağlantısı:
phpmyadmin ile "Deneme" isimli bir veritabanı oluşturduğunuzu varsayalım. XAMPP kurarsanız değiştirmediğiniz sürece kullanıcı adı "root" dur ve bağlantı için şifre gerektirmez,
Ek olarak "deneme" isimli veritabanını yaratmadan önce "utf8_unicode_ci" seçin.
config/database.php içerisinde mysql varsayılan (default) olarak gelir, Sizde mysql kullanıyorsanız ayarları için şurayı değiştirin.
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'deneme'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
Bu kadar.... Laravel 5 .env dosyası bulamadığı için buradaki sağ kısımda kalan ayarları kullanacak. Localhost'ta iken tek yapmanız gereken bu. Tavsiye olarak config/app.php içinde debug modunu true yapınız. Bu şekilde hatalar konusunda detay alırsınız....
PRODUCTION için VERİTABANI ayarları:
Sitenizi yayınlamaya karar verdiniz. Şimdi .
env dosyasını kullanalım. Ana dizindeki ..env.example dosyasının bir kopyasını alın ve ismini .
env olarak değiştirin.
En başında nokta olacak.İçerideki ayarlar şöyle olacak:
APP_ENV=production
APP_DEBUG=false
APP_KEY=SomeRandomString
DB_USERNAME=Sunucuda_Olusturdugunuz_Veritabani_Adi
DB_USERNAME=Sunucuda_Olusturdugunuz_Veritabani_Kullanıcı_Adi
DB_PASSWORD=Sunucuda_Olusturdugunuz_Veritabani_Kullanıcı_Sifresi
Artık sunucuda kullanabilirsiniz. env ayarları gördüğünüz gibi çok kolay. Laravel ilk bu dosyayı bakar ve buradaki db ayarlarını kullanır...
.env ayarları ile ilgili NOTLAR:
1-Config/app içinde debug mode true olarak değiştirdiyseniz, ya onu false yapn, ya da 'debug' => env('APP_DEBUG'), olarak tekrar eski haline döndürün ki buradaki "APP_DEBUG=false" ile sonucuda debug mod devre dışı kalabilsin.
2- APP_KEY=SomeRandomString için key girmeniz gerekmiyor. Çünkü kurulumda laravel bir key oluşturuyor ve onu kullanmaya devam ediyor sanırım.
3-Unutmayın .env.example dosyası ana dizindedir ve .env dosıasını da aynı yere kopyalayın.
4-local ve production modları için local.env ve production.env yaratabilirsiniz. Eğer böyle yaparsanız config içinde hiçbir değişklik yapmanıza gerek kalmaz. Bunu da 2. YOL olarak aklınızın bir köşesinde tutun.
Kolaylıklar dilerim
ADMİN YA DA MODERATÖR İÇİN NOT:
Konuyu yanlış yere açmışım, Laravel 5.x SSS bölümüne taşırsanız sevinirim. Böylelikle daha faydalı olur.