Laravel’de SQLSTATE[HY000] [2002] Bağlantı Reddedildi Hatasını Çözme
Laravel projelerinizde sıkça karşılaşılan ve can sıkıcı olabilen “SQLSTATE[HY000] [2002] Connection Refused” hatası, veritabanı bağlantınızın başarısız olduğunu gösterir. Bu makalede, bu hatanın nedenlerini derinlemesine inceleyecek ve adım adım çözüm yolları sunacağız. Projelerinizi sorunsuz bir şekilde çalıştırmak için ihtiyacınız olan tüm bilgileri burada bulacaksınız.
SQLSTATE[HY000] [2002] Bağlantı Reddedildi Hatası Nedir?
Bu hata, Laravel uygulamanızın yapılandırmasında belirtilen veritabanı sunucusuna erişmeye çalıştığında ortaya çıkar ancak sunucu bu isteği reddeder. Temel olarak, uygulamanızın veritabanıyla konuşma girişimi başarısız oluyor demektir. Bu durumun birkaç temel nedeni olabilir ve genellikle ilk etapta panik yapmak yerine sistematik bir yaklaşımla sorunu çözmek en doğrusudur. Laravel, .env dosyası aracılığıyla veritabanı bağlantı bilgilerini yönetir. Bu dosyadaki bilgiler yanlışsa veya veritabanı sunucusu gerçekten erişilebilir değilse, bu hata koduyla karşılaşırız. Bu, en sık karşılaşılan bağlantı sorunlarından biridir ve genellikle basit yapılandırma yanlışlıklarından veya sunucu tarafındaki erişim engellerinden kaynaklanır. Sorunun temelini anlamak, çözüm sürecini hızlandıracaktır. Laravel’in veritabanı bağlantılarını nasıl yönettiğini bilmek, bu tür hataların kök nedenini bulmada kritik öneme sahiptir. Uygulamanızın .env dosyasında tanımlanan DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME ve DB_PASSWORD gibi değerlerin doğruluğu hayati önem taşır. Eğer bu değerlerden herhangi biri yanlış girilmişse, Laravel veritabanı sunucusuna bağlanamaz ve bu hata mesajını alır.
Olası Nedenler ve İlk Kontroller
Bu hatanın en yaygın nedenleri arasında şunlar bulunur:
- Yanlış Veritabanı Bilgileri:
.envdosyasındakiDB_HOST,DB_PORT,DB_DATABASE,DB_USERNAMEveyaDB_PASSWORDdeğerlerinin hatalı olması. Bu, en sık karşılaşılan nedendir. Bir harf hatası, eksik bir karakter veya yanlış bir şifre bile bağlantıyı engelleyebilir. - Veritabanı Sunucusunun Çalışmaması: MySQL, PostgreSQL veya başka bir veritabanı sunucusu çalışmıyor olabilir. Sunucunun gerçekten aktif olup olmadığını kontrol etmek gerekir.
- Yanlış Port Numarası: Veritabanı sunucusu varsayılan portundan (genellikle MySQL için 3306) farklı bir portta çalışıyor olabilir ve bu port numarası
.envdosyasında doğru belirtilmemiş olabilir. - Ağ Erişimi Engeli: Sunucunuzun güvenlik duvarı (firewall) veya ağ yapılandırması, Laravel uygulamanızın çalıştığı yerden veritabanı sunucusuna erişimi engelliyor olabilir.
- Veritabanı Kullanıcısının Yetkilendirilmemesi: Belirtilen veritabanı kullanıcısının, uygulamanızın çalıştığı host’tan (veya IP adresinden) veritabanına bağlanma izni olmayabilir.
- Veritabanı Sürücüsü Sorunları: Nadiren de olsa, PHP’nin ilgili veritabanı sürücüsünün (örneğin,
PDO_MYSQL) yüklü veya etkin olmaması da bu hataya neden olabilir.
Bu kontrolleri yaparken, ilk olarak .env dosyanızdaki tüm veritabanı bilgilerini dikkatlice gözden geçirin. Özellikle kopyala-yapıştır yaparken oluşabilecek gizli boşluklar veya karakter hatalarına dikkat edin. Ardından, sunucunuzun durumunu kontrol edin. Eğer yerel bir geliştirme ortamı kullanıyorsanız, XAMPP, WAMP, MAMP gibi paketlerin veritabanı servislerinin çalıştığından emin olun. Uzak bir sunucu kullanıyorsanız, SSH ile bağlanıp veritabanı servisinin aktif olup olmadığını kontrol edin. Port numarası da sıkça atlanan bir detaydır; varsayılan portlar her zaman kullanılmayabilir.
.env Dosyasını Doğru Yapılandırma
Laravel projelerinde veritabanı bağlantı ayarları, projenizin kök dizininde bulunan .env dosyası içerisinde tanımlanır. Bu dosya, uygulamanızın ortam değişkenlerini barındırır ve bu sayede farklı ortamlarda (geliştirme, test, üretim) farklı veritabanı ayarları kullanabilirsiniz. .env dosyasının doğru şekilde yapılandırılması, “Connection Refused” hatasını çözmenin ilk ve en önemli adımıdır. Bu dosya, .env.example dosyasının bir kopyasıdır ve genellikle ilk kurulumda sizin tarafınızdan doldurulması gerekir. Eğer bu dosyayı oluşturmadıysanız, .env.example dosyasını kopyalayıp adını .env olarak değiştirebilir ve gerekli bilgileri girebilirsiniz. Unutmayın, .env dosyasını değiştirdikten sonra Laravel’in önbelleğini temizlemeniz gerekebilir. Bunun için php artisan config:clear komutunu kullanabilirsiniz. Bu komut, Laravel’in yapılandırma dosyalarını yeniden yüklemesini sağlar ve .env dosyasındaki değişikliklerin geçerli olmasını garantiler.
İşte tipik bir .env dosyasında veritabanı bağlantısı için gerekli olan ayarlar:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=secret
Bu örnekte:
DB_CONNECTION: Kullanılacak veritabanı yönetim sistemi (örneğin,mysql,pgsql,sqlite,sqlsrv).DB_HOST: Veritabanı sunucusunun adresi. Yerel sunucu için genellikle127.0.0.1veyalocalhostkullanılır. Uzak bir sunucu için IP adresi veya alan adı girilir.DB_PORT: Veritabanı sunucusunun dinlediği port numarası. MySQL için varsayılan 3306’dır.DB_DATABASE: Bağlanılacak veritabanının adı.DB_USERNAME: Veritabanına bağlanmak için kullanılacak kullanıcı adı.DB_PASSWORD: Veritabanı kullanıcısının şifresi.
Bu değerleri kendi veritabanı sunucunuzun ayarlarına göre doğru bir şekilde girdiğinizden emin olun. Özellikle DB_HOST ve DB_PORT değerleri, sunucunuzun nasıl yapılandırıldığına bağlı olarak değişebilir. Eğer veritabanınız farklı bir makinede çalışıyorsa, 127.0.0.1 yerine o makinenin IP adresini veya alan adını kullanmalısınız. Şifrenizin doğru olduğundan emin olun; küçük bir yazım hatası bile bağlantıyı engelleyebilir. Bazı durumlarda, özellikle Docker gibi konteynerizasyon araçları kullanılıyorsa, DB_HOST değeri mysql veya mariadb gibi servis adları olabilir. Bu tür durumlarda, Docker Compose dosyanızdaki servis adlarını kontrol etmeniz gerekebilir.
Veritabanı Sunucusunun Durumunu Kontrol Etme
.env dosyasındaki bilgileri doğru girdiğinizden emin olduktan sonraki adım, veritabanı sunucusunun kendisinin çalışır durumda olup olmadığını kontrol etmektir. Bazen en basit nedenler gözden kaçabilir. Eğer MySQL sunucunuz çalışmıyorsa, Laravel ne kadar doğru yapılandırılmış olursa olsun bağlantı kuramayacaktır. Yerel geliştirme ortamlarında bu kontrolü yapmak genellikle kolaydır. Örneğin, XAMPP kullanıyorsanız, XAMPP kontrol panelini açıp MySQL modülünün “Running” (Çalışıyor) durumunda olduğundan emin olmalısınız. Eğer çalışmıyorsa, başlat düğmesine tıklayarak servisi başlatabilirsiniz. WAMP veya MAMP gibi diğer paketler için de benzer bir süreç izlenir. Sunucunuzun servis yöneticisi üzerinden de kontrol edebilirsiniz. Linux sistemlerinde systemctl status mysql veya service mysql status gibi komutlarla MySQL servisinin durumunu görebilirsiniz. Eğer servis durmuşsa, systemctl start mysql veya service mysql start komutlarıyla başlatabilirsiniz. Uzak bir sunucuya bağlanıyorsanız, SSH ile sunucuya bağlanıp aynı komutları çalıştırarak veritabanı servisinin aktif olup olmadığını kontrol etmeniz önemlidir. Bazen sunucu yeniden başlatıldığında servisler otomatik olarak başlamayabilir. Bu nedenle, sunucu bakımı veya güncellemeleri sonrasında bu kontrolü yapmak faydalı olacaktır.
Eğer veritabanı sunucunuzu bir Docker konteyneri içinde çalıştırıyorsanız, docker ps komutuyla konteynerlerin çalışıp çalışmadığını kontrol edebilirsiniz. Eğer veritabanı konteyneriniz durmuşsa, docker start <konteyner_adı> komutuyla yeniden başlatabilirsiniz. Ayrıca, docker logs <konteyner_adı> komutuyla konteynerin loglarını inceleyerek olası başlangıç hatalarını tespit edebilirsiniz. Bu loglar, bağlantı reddi hatasının nedenini anlamak için çok değerli bilgiler içerebilir.
Örnek Vaka Analizi: Bir geliştirici, yerel makinesinde Laravel projesi geliştirirken sürekli “Connection Refused” hatası alıyordu. .env dosyasındaki tüm bilgileri defalarca kontrol etti ve doğru olduğundan emindi. Ancak sorunu bir türlü çözemiyordu. Sonunda, XAMPP kontrol panelini açtığında MySQL modülünün çalışmadığını fark etti. Başlat düğmesine tıkladığında MySQL servisi başarıyla başladı ve Laravel uygulaması veritabanına sorunsuz bir şekilde bağlandı. Bu vaka, en basit kontrollerin bile ne kadar önemli olabileceğini göstermektedir.
Ağ Erişimi ve Güvenlik Duvarı Ayarları
Veritabanı sunucusu çalışıyor olsa bile, Laravel uygulamanızın çalıştığı yerden sunucuya erişim engellenmiş olabilir. Bu durum genellikle ağ yapılandırması veya güvenlik duvarı (firewall) ayarlarından kaynaklanır. Eğer Laravel uygulamanız uzak bir sunucuda barındırılıyorsa ve veritabanı başka bir sunucuda ise, bu iki sunucu arasındaki ağ iletişiminin açık olması gerekir. Güvenlik duvarları, belirli portlardan gelen veya giden trafiği engelleyebilir. Bu nedenle, veritabanı sunucusunun kullandığı portun (örneğin, MySQL için 3306) Laravel uygulamanızın çalıştığı IP adresinden veya sunucudan gelen bağlantılara açık olması gerekir. Linux sunucularda ufw (Uncomplicated Firewall) veya firewalld gibi güvenlik duvarı araçları kullanılır. Bu araçlarla ilgili portu açmak için komutlar çalıştırabilirsiniz. Örneğin, ufw ile MySQL portunu açmak için şu komut kullanılabilir: sudo ufw allow 3306/tcp. Eğer bulut sağlayıcıları (AWS, Google Cloud, Azure vb.) kullanıyorsanız, bu sağlayıcıların kendi güvenlik grubu (security group) veya ağ ayarları üzerinden de port erişimini yapılandırmanız gerekebilir. Bu ayarlar genellikle web arayüzleri üzerinden kolayca yönetilebilir.
Yerel geliştirme ortamlarında da bazen güvenlik yazılımları veya işletim sisteminin kendi güvenlik duvarları bu tür bağlantıları engelleyebilir. Eğer 127.0.0.1 veya localhost üzerinden bağlanırken sorun yaşıyorsanız, bilgisayarınızdaki antivirüs veya güvenlik duvarı yazılımlarının veritabanı sunucusuyla iletişimi engellemediğinden emin olun. Bazen bir VPN bağlantısı veya proxy ayarı da bu tür sorunlara yol açabilir. Bu nedenle, tüm olası ağ engellerini gözden geçirmek önemlidir. Eğer Docker kullanıyorsanız, Docker ağlarının doğru yapılandırıldığından ve konteynerlerin birbirleriyle veya ana makineyle iletişim kurabildiğinden emin olun. Docker’ın varsayılan ağ ayarları genellikle yeterli olsa da, özel ağ yapılandırmaları bazen sorunlara yol açabilir.
Vaka Analizi: Bir web geliştirme ekibi, üretim ortamında yeni bir sunucuya geçtiklerinde “Connection Refused” hatası almaya başladılar. Geliştirme ortamında her şey sorunsuz çalışıyordu. .env dosyasındaki tüm ayarların doğru olduğunu teyit ettikten sonra, yeni sunucunun güvenlik duvarı ayarlarını incelediler. Sunucunun varsayılan güvenlik duvarı kuralları, dışarıdan gelen MySQL bağlantılarını engelliyordu. Güvenlik duvarına gerekli kuralı ekledikten ve ilgili portu açtıktan sonra sorun çözüldü. Bu, özellikle üretim ortamına geçişlerde ağ ve güvenlik ayarlarının ne kadar kritik olduğunu gösteren bir örnektir.
Veritabanı Kullanıcısının Yetkilendirilmesi
Veritabanı sunucusuna ve doğru porta bağlanabiliyor olsanız bile, kullandığınız veritabanı kullanıcısının (DB_USERNAME) belirli bir host’tan (uygulamanızın çalıştığı yerden) veritabanına erişim izni olmayabilir. Veritabanı sistemleri, güvenlik amacıyla kullanıcıların hangi IP adreslerinden veya host isimlerinden bağlanabileceğini kısıtlamanıza olanak tanır. Örneğin, MySQL’de bir kullanıcı oluştururken, bu kullanıcının sadece localhost‘tan mı, yoksa belirli bir IP adresinden mi veya herhangi bir yerden mi bağlanabileceği belirtilebilir. Eğer Laravel uygulamanız farklı bir sunucuda çalışıyorsa ve veritabanı kullanıcısı sadece localhost‘a yetkilendirilmişse, bağlantı reddedilecektir. Bu durumu düzeltmek için veritabanı sunucusuna bağlanıp ilgili kullanıcı için gerekli yetkilendirmeleri yapmanız gerekir. MySQL’de bu genellikle GRANT komutları ile yapılır. Örneğin, root kullanıcısının 192.168.1.100 IP adresinden mydatabase veritabanına bağlanabilmesi için şu komut kullanılabilir:
GRANT ALL PRIVILEGES ON mydatabase.* TO 'root'@'192.168.1.100' IDENTIFIED BY 'şifre';
FLUSH PRIVILEGES;
Eğer Laravel uygulamanız aynı sunucuda çalışıyorsa (yerel geliştirme veya tek sunucu kurulumu), kullanıcı genellikle localhost veya 127.0.0.1‘e yetkilendirilmiş olmalıdır. Eğer Docker kullanıyorsanız ve veritabanı konteyneri ile uygulama konteyneri farklı IP’lere sahipse, bu IP’ler veya Docker ağındaki servis adları üzerinden yetkilendirme yapmanız gerekebilir. Bazen root kullanıcısı yerine özel olarak oluşturulmuş bir veritabanı kullanıcısı kullanmak daha güvenlidir. Bu durumda, o kullanıcının da doğru host’tan erişim izninin olduğundan emin olmalısınız. Veritabanı yönetim araçları (phpMyAdmin, MySQL Workbench vb.) ile de kullanıcıların yetkilerini kolayca görebilir ve düzenleyebilirsiniz. Kullanıcıların yetkilerini kontrol ederken, özellikle Host sütununa dikkat edin. Eğer Host alanı % (yüzde işareti) olarak belirtilmişse, bu kullanıcının herhangi bir host’tan bağlanabileceği anlamına gelir. Ancak genellikle daha güvenli olması açısından belirli IP adresleri veya localhost olarak belirtilmesi tercih edilir.
PHP Veritabanı Sürücülerini Kontrol Etme
Nadiren de olsa, Laravel uygulamanızın kullanmaya çalıştığı veritabanı için gerekli PHP sürücüsünün yüklü veya etkin olmaması da bu hataya neden olabilir. Laravel, veritabanı bağlantıları için genellikle PHP Veri Nesneleri (PDO – PHP Data Objects) uzantısını kullanır. Eğer kullandığınız veritabanı için PDO sürücüsü yüklü değilse veya PHP yapılandırmasında etkinleştirilmemişse, Laravel veritabanına bağlanmayı başaramaz. Örneğin, MySQL kullanıyorsanız, PHP’nin pdo_mysql modülünün etkin olması gerekir. PostgreSQL için pdo_pgsql, SQLite için pdo_sqlite gibi. Bu sürücülerin yüklü olup olmadığını kontrol etmek için PHP’nin phpinfo() fonksiyonunu kullanabilirsiniz. Bir PHP dosyası oluşturup içine aşağıdaki kodu ekleyerek tarayıcınızda çalıştırın:
<?php
phpinfo();
?>
Açılan sayfada “pdo” veya kullandığınız veritabanının adıyla ilgili bölümleri arayın. Eğer ilgili PDO sürücüsü listelenmiyorsa veya “disabled” (devre dışı) olarak görünüyorsa, bu sürücüyü PHP’nize yüklemeniz veya etkinleştirmeniz gerekir. Bu işlem, kullandığınız işletim sistemine ve PHP kurulum yöntemine göre değişiklik gösterebilir. Genellikle, PHP’nin php.ini dosyasını düzenleyerek ilgili satırın başındaki noktalı virgülü kaldırarak (örneğin, extension=pdo_mysql) sürücüyü etkinleştirebilirsiniz. php.ini dosyasını bulmak için yine phpinfo() çıktısındaki “Loaded Configuration File” satırına bakabilirsiniz. Dosyayı düzenledikten sonra web sunucunuzu (Apache, Nginx) veya PHP-FPM’yi yeniden başlatmayı unutmayın.
Eğer Docker kullanıyorsanız, Dockerfile’ınızda ilgili PHP uzantılarının yüklendiğinden emin olmalısınız. Örneğin, PHP’nin resmi imajlarını kullanıyorsanız, docker-php-ext-install veya pecl install komutlarıyla gerekli uzantıları ekleyebilirsiniz.
Vaka Analizi: Bir geliştirici, yeni bir Laravel projesi üzerinde çalışırken sürekli olarak veritabanı bağlantı hatası alıyordu. Projeyi yerel bir sunucuda (örneğin, Homebrew ile PHP kurarak) kurmuştu. phpinfo() çıktısını incelediğinde, pdo_mysql uzantısının yüklü olmadığını gördü. PHP’nin kurulum talimatlarını takip ederek pdo_mysql uzantısını yükledi ve php.ini dosyasını güncelleyerek etkinleştirdi. Web sunucusunu yeniden başlattıktan sonra sorun çözüldü. Bu örnek, temel PHP yapılandırma ayarlarının önemini vurgulamaktadır.
Laravel’de Veritabanı Bağlantı Sorunlarını Ayıklama İpuçları
Yukarıda bahsedilen temel kontrolleri yaptıktan sonra hala sorun yaşıyorsanız, daha derinlemesine ayıklama yöntemlerine başvurabilirsiniz. Laravel’in hata raporlama mekanizmasını etkinleştirmek, sorunun kaynağını anlamak için kritik öneme sahiptir. Geliştirme ortamında .env dosyasındaki APP_DEBUG=true ayarını kullanarak detaylı hata mesajlarını görebilirsiniz. Bu, genellikle hatanın tam olarak ne zaman ve neden meydana geldiğini anlamanıza yardımcı olur. Ayrıca, Laravel’in günlük (log) dosyalarını incelemek de faydalı olabilir. storage/logs/laravel.log dosyasında, uygulamanız sırasında oluşan hatalar ve uyarılar kaydedilir. Bu dosya, bağlantı reddi hatasıyla ilgili daha fazla detay içerebilir.
Veritabanı bağlantısını test etmek için Laravel’in Artisan komutlarını kullanabilirsiniz. php artisan db:monitor gibi komutlar (eğer bir paket aracılığıyla eklenmişse) veya basit bir veritabanı sorgusu çalıştırarak bağlantıyı test edebilirsiniz. Örneğin, bir controller içinde basit bir sorgu yazıp bunu tetikleyerek bağlantıyı kontrol edebilirsiniz. Eğer veritabanı bağlantı bilgileriniz karmaşıksa veya birden fazla veritabanı kullanıyorsanız, Laravel’in config/database.php dosyasını incelemek de faydalı olabilir. Bu dosya, .env dosyasındaki ayarlardan okunan veritabanı yapılandırmalarını içerir ve Laravel’in veritabanı bağlantılarını nasıl yönettiğini daha iyi anlamanızı sağlar.
Ayrıca, Laravel’in Eloquent ORM’i yerine doğrudan PDO kullanarak bir bağlantı kurmayı deneyebilirsiniz. Bu, sorunun Eloquent’ten mi yoksa temel PDO bağlantısından mı kaynaklandığını anlamanıza yardımcı olabilir. Eğer PDO ile de bağlantı kuramazsanız, sorun muhtemelen sunucu, ağ veya PHP yapılandırmasıyla ilgilidir. Eğer PDO ile bağlantı kurabilirseniz, sorun muhtemelen Eloquent’in veya Laravel’in veritabanı soyutlama katmanının yapılandırmasıyla ilgilidir.
İleri Düzey İpucu: Eğer Docker kullanıyorsanız ve ana makine ile Docker konteynerleri arasındaki bağlantıda sorun yaşıyorsanız, Docker’ın ağ modlarını ve DNS çözümlemesini dikkatlice inceleyin. Bazen 127.0.0.1 yerine Docker’ın sağladığı özel IP adreslerini veya servis adlarını kullanmak gerekebilir. docker network inspect <network_name> komutu, ağınız hakkında detaylı bilgi sağlayabilir.
Sonuç ve Sıkça Sorulan Sorular
Laravel’de “SQLSTATE[HY000] [2002] Connection Refused” hatası, genellikle basit yapılandırma yanlışlıkları, sunucu sorunları veya ağ erişim engellerinden kaynaklanır. Bu makalede ele aldığımız adımları sistematik bir şekilde uygulayarak, bu sorunun büyük çoğunluğunu çözebilirsiniz. .env dosyasındaki bilgilerin doğruluğu, veritabanı sunucusunun çalışır durumda olması, ağ erişiminin açık olması ve veritabanı kullanıcısının yetkilendirilmesi gibi temel kontrolleri atlamamak önemlidir. Unutmayın, her adımda yaptığınız değişikliklerden sonra Laravel’in yapılandırma önbelleğini temizlemeyi (php artisan config:clear) ihmal etmeyin.
Sıkça Sorulan Sorular (SSS)
-
Soru:
.envdosyasını değiştirdikten sonra nedenphp artisan config:clearkomutunu çalıştırmalıyım?
Cevap: Laravel, performansı artırmak için yapılandırma dosyalarını önbelleğe alır..envdosyasındaki değişikliklerin geçerli olması için bu önbelleğin temizlenmesi ve yapılandırmanın yeniden yüklenmesi gerekir. -
Soru: Yerel geliştirme ortamımda MySQL çalışıyor ama Laravel bağlanamıyor, ne yapmalıyım?
Cevap:.envdosyasındakiDB_HOST‘un127.0.0.1veyalocalhostolarak ayarlandığından,DB_PORT‘un MySQL’in dinlediği portla (genellikle 3306) eşleştiğinden ve veritabanı kullanıcısınınlocalhost‘tan bağlanmaya yetkili olduğundan emin olun. PHP’ninpdo_mysqluzantısının etkin olup olmadığını da kontrol edin. -
Soru: Uzak bir sunucudaki veritabanına bağlanırken “Connection Refused” hatası alıyorum, sorun ne olabilir?
Cevap: Uzak sunucunun güvenlik duvarının, veritabanı sunucusunun portuna (örneğin 3306) Laravel uygulamanızın bulunduğu IP adresinden erişime izin verdiğinden emin olun. Ayrıca, veritabanı kullanıcısının uzak sunucudan bağlanmaya yetkili olduğundan emin olun.DB_HOST‘un uzak sunucunun IP adresi veya alan adı olarak doğru ayarlandığını kontrol edin. -
Soru: Docker kullanırken bu hatayı alıyorum, ne gibi özel kontroller yapmalıyım?
Cevap: Docker Compose dosyanızdaki servis adlarını ve ağ yapılandırmasını kontrol edin. Uygulama konteynerinin veritabanı konteynerine doğru servis adı ve port ile eriştiğinden emin olun.DB_HOST‘u Docker servis adınıza göre ayarlayın. Docker ağlarının doğru şekilde yapılandırıldığından ve konteynerlerin birbirleriyle iletişim kurabildiğinden emin olun.
#Laravel #Veritabanı #SQL #Geliştirme #HataAyıklama