Sistem Güncelleme — VERSION Dosyası ve .env Önceliği
Otomatik güncelleme servisi devreye girdikten sonra uygulama sürümü tek bir kaynaktan yönetilir: proje kökündeki VERSION dosyası. Bu dosyayı sistem güncelleme servisi otomatik olarak günceller; geliştiricinin veya yöneticinin elle dokunmasına gerek yoktur.
Sürüm okuma sırası (gösterim)
- Proje kökündeki
VERSIONdosyası — UTF-8 BOM ve satır sonları temizlenir; ilk satırMAJOR.MINOR.PATCHbiçimindeyse kullanılır. .enviçindekiAPP_VERSION— yalnızca VERSION dosyası yoksa veya biçim geçersizse devreye girer.- Hard-coded fallback — yukarıdakilerin hiçbiri yoksa baseline kullanılır.
v1.4.95: Üst menüdeki sürüm rozeti, php artisan config:cache kullanılsa bile her HTTP isteğinde VERSION dosyasından yeniden okunur; böylece zip ile güncelledikten sonra arayüzde eski yama (ör. 1.4.91) takılı kalmaz.
.env içinde APP_VERSION var mı diye nasıl bakarım?
cd /var/www/vhosts/<domain>/<site>
grep "^APP_VERSION" .env
Bir satır dönerse ve kökte geçerli bir VERSION dosyanız varsa, o satır artık gösterimde kullanılmaz; yine de .env'i temiz tutmak için silebilirsiniz:
sed -i '/^APP_VERSION/d' .env
php artisan config:clear
Sürüm değişmediğinde kontrol listesi
Yeni paket uygulandı, rozet veya “Mevcut sürüm” güncellenmedi mi? Sırayla:
cat VERSION— beklenen yamayı gösteriyor mu? Hayır ise zip dosyaları yanlış dizine yazılıyor veya izin hatası vardır.- Sistem güncelleme kaydı: Ayarlar → Sistem güncelleme sayfasındaki
system_update_logstablosu; başarısız satırdadetailalanına bakın. - Laravel günlüğü (v1.4.95+): Başarılı uygulamadan sonra
storage/logs/laravel.logiçindesystem_update.appliedsatırı aranır (sürüm, dosya sayısı, batch). php artisan tinker --execute='echo config("app.version");'—VERSIONile aynı mı?php artisan optimize:clear— güncelleme sonrası zaten çalıştırılır; elle de deneyin.- PHP-FPM / Octane: worker yeniden yükleyin (
systemctl reload …-fpmveya Octane için yeniden başlatma).
Geliştiriciler için
- Zip kökünde tek satırlık
VERSIONdosyası bulunmak zorunda. config/app.phpiçinde sürüm sabit yazılmaz;InstalledAppVersionkullanılır.