500 Internal Server Error - Şarkı Stream Hatası Çözümü
27 Aralık 2025 - 04:15
Ne oldu? Muzibu'da şarkı çalmaya çalışınca 500 hatası alınıyordu. Hiçbir şarkı çalmıyordu.
Neden oldu? Sistem, "domains" tablosunu yanlış veritabanında arıyordu. Tıpkı bir dosyayı yanlış klasörde aramak gibi - dosya orada olmadığı için bulamıyordu.
Ne yapıldı? Sisteme "domains tablosu ana veritabanında, oraya bak" dedik. Artık doğru yere bakıyor.
Sonuç: Şarkılar tekrar çalıyor!
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'tenant_muzibu_1528d0.domains' doesn't exist (Connection: tenant, SQL: select `domain` from `domains` where `tenant_id` = 1001)
domains tablosu central database'de (tuufi_4ekim)DB::table('domains') tenant db'de arıyor → Tablo yok → 500 hatasıTüm domains sorgularına DB::connection('mysql') eklendi:
// HATALI (tenant db'ye gider) DB::table('domains')->where('tenant_id', 1001)->first(); // DOĞRU (central db'ye gider) DB::connection('mysql')->table('domains')->where('tenant_id', 1001)->first();
getTenantDomain() fonksiyonu - SignedUrlService tarafından kullanılıyor
Bu fonksiyon her şarkı stream isteğinde çağrılıyor, asıl hatanın kaynağı buydu.
getAllDomainAliases() fonksiyonu - SSL sertifika yenileme job'ı
Queue'dan çalışırken tenant context olabilir, önlem alındı.
loadWebRoutes() ve loadApiRoutes() fonksiyonları
Route tanımları için domain listesi alınırken kullanılıyor.
Central Database Tabloları:
Bu tablolara erişirken her zaman DB::connection('mysql') kullan!