Laravel’i Windows ve IIS üzerinde yayınlama

Laravel’i IIS üzerinde değerlendirirken web kökünü public klasörüne sınırlandırın; PHP, veritabanı ve arka plan işleri için ayrı kontroller yapın. Bu rehber uygulama dağıtımını açıklar; her Laravel işinin AdaPanel tarafından otomatik yapılandırıldığını varsaymaz.

Hazırlayan: AdaPanel · Güncellendi:

Önce uygulamanın bağımlılıklarını çıkarın

composer.json ve kilit dosyasından uygulamanın PHP ve uzantı gereksinimlerini belirleyin. Geliştirme bilgisayarındaki PHP ile IIS FastCGI motorunun aynı sürüm ve uzantıları kullandığını varsaymayın. Hazırlanan pakette üretim bağımlılıkları ve derlenmiş ön yüz varlıkları bulunmalıdır.

Kullandığınız Laravel sürümünün dağıtım belgesini esas alın. Linux’a özel süreç, yol veya sistem aracı kullanan paketlerin Windows üzerinde çalışmasını test edin. Uyumlu olmayan bir bağımlılık panel ayarıyla kendiliğinden düzelmez.

Web kökü ve yazma izinleri

Web kökü ve yazma izinleri
KonumBeklenen yaklaşım
publicIIS üzerinden yayınlanan giriş noktası ve statik varlıklar.
.env ve uygulama kaynaklarıDoğrudan web kökünün dışında; hassas ayarlar yayın paketince ezilmez.
storage ve bootstrap/cacheUygulama kimliğinin gerekli yazma izni bulunur.
Kullanıcı dosyalarıErişim politikası ve çalıştırılabilir dosya kısıtları ayrıca doğrulanır.

IIS yönlendirmesini ve ortamı test edin

Ana sayfa yanında gerçek bir Laravel rotasını ve var olmayan bir yolu deneyin. Apache için hazırlanmış .htaccess dosyasının IIS tarafından uygulanacağını düşünmeyin; IIS kuralı uygulamanın giriş noktasına uygun olmalıdır.

Üretimde ayrıntılı hata gösterimini kapalı tutun. Mevcut uygulama anahtarını ve ortam dosyasını güncellemede koruyun; anahtarı gelişigüzel yenilemek şifrelenmiş veriye erişimi etkileyebilir. Önbelleğe alınan yapılandırmayı dağıtım sırasının parçası olarak yenileyip kullanılan değerleri güvenli biçimde doğrulayın.

Kuyruk ve zamanlanmış işleri ayrı değerlendirin

  1. Uygulamanın hangi işleri HTTP isteği dışında çalıştırdığını listeleyin: e-posta, rapor, bildirim veya dosya dönüştürme.
  2. Her iş için yürütülebilir PHP yolunu, çalışma klasörünü, hesabı ve ortam ayarlarını kaydedin.
  3. Mevcut Windows görevi veya hizmeti varsa aynı işi ikinci bir yöneticiyle başlatmayın; tek sahip belirleyin.
  4. Test işini kuyruğa ekleyip gerçekten tamamlandığını ve hata kaydının izlenebildiğini doğrulayın. Web sayfasının açılması işleyicinin çalıştığını kanıtlamaz.

Yayın öncesi son kontrol

Giriş, oturum, veritabanına yazma, dosya yükleme ve bir arka plan işini birlikte sınayın. .env ve özel depolama dosyalarının URL ile indirilemediğini kontrol edin. Beklenen 404 sayfasının gerçekten 404 döndürdüğünü de doğrulayın.

Şema değişikliği içeren yayında yedek ve geri dönüş kararını önce hazırlayın. Test ortamında gerçek alıcılara posta, ödeme veya webhook göndermeyi engelleyin; başarılı denemeyi sürüm ve tarih bilgisiyle kaydedin.

Sık sorulan sorular

Laravel proje kökü IIS fiziksel yolu olabilir mi?

Genel yaklaşım public klasörünü web kökü yapmaktır. Uygulama kaynaklarını ve .env dosyasını doğrudan yayınlamak yerine erişim sınırını dizin yapısıyla kurun.

.htaccess IIS üzerinde yeterli mi?

Hayır. Apache kuralları IIS’e kendiliğinden uygulanmaz. Gerçek uygulama rotalarıyla IIS yönlendirmesini doğrulayın.

Site açılıyor ama işler çalışmıyor, neden?

HTTP süreci ile kuyruk işleyicisi farklıdır. İşleyicinin hesabını, PHP yolunu, ortamını ve hata kaydını ayrı kontrol edin.

Güncellemede .env yeniden oluşturulur mu?

Mevcut üretim ayarlarını koruyun. Yeni değişkenleri kontrollü ekleyin; örnek ortam dosyasını üretim dosyasının üzerine kopyalamayın.

Kaynaklar ve devamı

AdaPanel kurulum rehberi · Diğer rehberler

AdaPanel sürümlerini incele