Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Docker’da Laravel Log’larının Gösterilmemesi Sorununun Çözümü (PHP-FPM + Nginx + Supervisor)
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Docker’da Laravel Log’larının Gösterilmemesi Sorununun Çözümü (PHP-FPM + Nginx + Supervisor)

Yazılım

Docker’da Laravel Log’larının Gösterilmemesi Sorununun Çözümü (PHP-FPM + Nginx + Supervisor)

teknomers
Son güncelleme: 15 Şubat 2026 17:16
teknomers
Paylaş
Paylaş

Laravel’ı Docker içinde PHP-FPM, Nginx ve Supervisor ile çalıştırıyorsanız, kafanızı karıştıran bir sorunla karşılaşabilirsiniz:

  • docker logs hiçbir şey göstermiyor
  • storage/logs/laravel.log boş
  • Logging doğru yapılandırılmış görünüyor

Biraz araştırmadan sonra, düzeltmenin Supervisor, PHP ve Laravel arasındaki küçük ama kritik ayarların bir kombinasyonu olduğunu öğrendim.

Bu yazı çalışır kurulumun belgelenmesidir.


Kurulum

  • Laravel
  • PHP-FPM
  • Nginx
  • Supervisor
  • Docker

Laravel, log’ları dosyalara değil, stdout/stderr’ye kaydedilecek şekilde yapılandırılmıştır.


Supervisor log’ları stdout/stderr’ye yönlendirmeli

Bu en önemli kısımdır.

Supervisor, varsayılan olarak işlem çıktısını Docker’a yönlendirmez.

Eğer bu eksikse, log’lar sessizce kaybolur.

Her programın aşağıdaki satırları içermesine emin olun:

stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

Bunu yapmadan, docker logs her zaman boş olacaktır, Laravel doğru logging yapıyor olsa bile.


Nginx yapılandırması (isteğe bağlı)

Laravel log’ları için burada kesin bir gereklilik yoktur.

Nginx log’larının Docker içinde görünmesini istiyorsanız:

access_log /dev/stdout;
error_log  /dev/stderr warn;

Aksi takdirde, bu sorun için Nginx’i göz ardı edebilirsiniz.


PHP, hataları stderr’ye kaydetmelidir

PHP-FPM’nin hataları Docker’ın stderr’ye yazması gerekiyor.

php.ini dosyasında (ya da bir Docker geçersiz kılmada):

log_errors=On
error_log=/proc/self/fd/2

Bu, PHP hatalarının docker log’larında görünmesini sağlar.


Asıl sorun: Laravel logging.php

Temel sorun, Laravel’in Monolog yapılandırmasındadır.

İlk bakışta doğru gözüken bu, akış yapılandırmasının çok önemli olduğu anlamına geliyor.

Çalışan yapılandırma:

'stderr' => [
    'driver' => 'monolog',
    'level' => env('LOG_LEVEL', 'debug'),
    'handler' => StreamHandler::class,
    'formatter' => env('LOG_STDERR_FORMATTER'),
    'with' => [
        'stream' => 'php://stdout',
        'level' => env('LOG_LEVEL', 'debug'),
    ],
],

Önemli noktalar:

  • Akış php://stdout (veya stderr) olarak açıkça belirtilmelidir.

  • with kullanımı yanlış olduğunda, logging sessizce bozulabilir.

  • Laravel, Monolog yanlış yapılandırıldığında sizi uyarmayacaktır.

Log’ların görünmemesinin temel sebebi budur.


Ortam konfigurasyonu

Son .env ayarı:

LOG_CHANNEL=stack
LOG_STACK=stderr
LOG_LEVEL=debug
LOG_DEPRECATIONS_CHANNEL=null

Ayrıca konfigürasyon önbelleğini temizlemeyi unutmayın:

php artisan config:clear


Sonuç

Şu ayarlarla:

  • Supervisor, stdout/stderr yönlendirmekte

  • PHP hataları stderr’ye yazmakta

  • Laravel, log’ları doğru şekilde akıtmaktadır

  • Docker log’ları toplayabilmekte

Kaynak: Orijinal Makale

Contents
  • Kurulum
  • Supervisor log’ları stdout/stderr’ye yönlendirmeli
  • Nginx yapılandırması (isteğe bağlı)
  • PHP, hataları stderr’ye kaydetmelidir
  • Asıl sorun: Laravel logging.php
  • Ortam konfigurasyonu
  • Sonuç
Kablosuz Cihazlarda Sızma Testi Yapabileceğiniz Bir Yazılım: KİSMET Nedir? Ne İşe Yarar?
PHP 8 + RoadRunner: PHP Ekosisteminde Performans Optimizasyonu
Sahte Webhook’ları Durdurun: Laravel’de HMAC İmzalarını Ustalaşın 🛡️
MultiCarbon: PHP Carbon için Yerel Jalali ve Hicri Takvim Desteği
FormFlow’a Katıl ve Katkıda Bulun
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Hayatınızda Yükselmeye Giden Yollar: Harcamaları Yönetme Stratejileri
Sonraki Makale Microsoft’un AI yöneticisi tüm beyaz yakalı işleri 18 ayda devralabilir

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Kritik: Polisiye, Odido ihlalinde Hollandalı hackerları sorguluyor
Siber Güvenlik
Acil: WhatsApp’taki Üç Açıkla Kritik Saldırı Zinciri Nasıl Çalışıyor?
Siber Güvenlik
Disney+ Ücretsiz Akış Seçeneği Üzerinde Düşünüyor
Genel
Steam satışları 2026’nın ilk yarısında 11 milyar doları geçti
Donanım
Project Zomboid’ta 19 Ay Sonra Heyecan Verici Güncelleme Yolda
Oyun
Disney Plus Ücretsiz Yayın Seçeneğini İnceliyor mu?
Liste
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?