APP_KEY, Laravel şifreleme katmanının temelidir. Yeni kurulumda anahtar üretmek kolaydır; çalışan sistemde anahtarı değiştirmek ise oturumları ve daha önce şifrelenmiş verileri etkileyebilir.
No application encryption key has been specified.
Unsupported cipher or incorrect key length.
php artisan key:generate --show
Yeni kurulumda APP_KEY boşsa php artisan key:generate kullanılabilir. Ancak çalışan uygulamada mevcut anahtarı rastgele yenilemek, şifreli oturum çerezlerini geçersiz kılar ve önceki anahtarla şifrelenmiş verilerin çözülememesine yol açabilir. Laravel 11 ve sonrasında eski anahtarlar APP_PREVIOUS_KEYS ile geçiş sürecinde tutulabilir.
Yeni kurulumda güvenli anahtar üretilmelidir.
APP_KEY=APP_KEY="base64:..."Elle kısa metin yazmak yerine framework üreticisini kullanın.
APP_KEY=123456php artisan key:generateCanlı sistemde önce eski anahtarı güvenli biçimde koruyun ve etki analizi yapın.
php artisan key:generate --forceAPP_PREVIOUS_KEYS="eski-anahtar"
APP_KEY="yeni-anahtar"Anahtarı terminal çıktısında açık biçimde paylaşmayın.
grep '^APP_KEY=' .env | sed 's/=.*/=***MASKED***/'
php artisan about --only=environment
Bu işlem .env içindeki APP_KEY değerini günceller.
php artisan key:generate
php artisan optimize:clear
Dağıtım sistemine veya secret manager içine elle eklemek için kullanılır.
php artisan key:generate --show
Web ve queue worker süreçlerinin aynı anahtarı kullandığını doğrulayın.
php artisan config:clear
php artisan config:cache
php artisan queue:restart
Sistemin yeni kurulum mu yoksa çalışan üretim sistemi mi olduğunu belirleyin.
Mevcut .env ve secret manager yedeğini güvenli biçimde alın.
Yeni kurulumda key:generate çalıştırın; canlıda eski anahtarın etkisini analiz edin.
Laravel 11+ kullanılıyorsa geçişte APP_PREVIOUS_KEYS planlayın.
Config önbelleğini ve uzun yaşayan worker süreçlerini yenileyin.
Oturum, şifreli kolon, queue ve API işlemlerini test edin.
APP_KEY boş, okunamıyor veya cache içinde null.
APP_KEY biçimi veya uzunluğu config/app.php cipher değeriyle uyumsuz.
Veri başka APP_KEY ile şifrelenmiştir.
Web düğümleri farklı APP_KEY kullanıyor veya anahtar yeni değişti.
Aramanızla eşleşen hata bulunamadı.
Aynı uygulamanın tüm web ve worker düğümleri aynı anahtarı kullanmalıdır. Farklı uygulamalar için farklı anahtar üretilmelidir.
Mevcut anahtarı değiştirirse şifreli oturum çerezleri geçersiz olur. Bu nedenle çalışan sistemde plansız çalıştırılmamalıdır.
Graceful key rotation Laravel 11 ile tanıtıldı. Daha eski sürümlerde uygulama sürümüne özel geçiş planı gerekir.
Laravel, PHP-FPM, Nginx, Apache, MySQL, cPanel ve Plesk katmanlarını loglarla birlikte inceleyerek kalıcı çözüm uyguluyoruz.