Arama Yap Mesaj Gönder
Biz Sizi Arayalım
+90
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Almanya (German)Almanya (German) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar Euro

Bize Ulaşın

Konum Halkalı merkez mahallesi fatih cd ozgur apt no 46 , Küçükçekmece , İstanbul , 34303 , TR
Linux dosya izinleri ve Laravel

storage ve bootstrap/cache izinlerinden kaynaklanan Laravel 500 hatasını güvenli düzeltin

Laravel’in log, session, compiled view ve cache dosyaları yazabilmesi için web sunucusu sürecinin storage ile bootstrap/cache dizinlerinde yazma yetkisi olmalıdır. Çözüm 777 vermek değil, doğru kullanıcı ve grup modelini kurmaktır.

root@eka:~/application
UnexpectedValueException
The stream or file storage/logs/laravel.log could not be opened
Permission denied
2Yazılabilir temel dizin vardır
USERPHP-FPM kullanıcısı doğru belirlenmelidir
GROUPDağıtım ve web kullanıcısı ortak grupta olabilir
NO 777Geniş izin kalıcı çözüm değildir
01
Teknik teşhis

İzin hatasında chmod değerinden önce çalışan kullanıcıyı bulun

Laravel resmi dağıtım belgesi storage ve bootstrap/cache dizinlerinin web sunucusu süreci tarafından yazılabilir olmasını ister. cPanel, Plesk, Nginx, Apache ve PHP-FPM düzenlerinde çalışan kullanıcı değişebilir; bu nedenle tek bir chown komutu her sunucu için doğru değildir.

01

Güvensiz geniş izin

Kullanıcı ve grup adını kendi sunucunuza göre değiştirin.

Hatalı
chmod -R 777 storage bootstrap/cache
Doğru
chown -R deploy:www-data storage bootstrap/cache
chmod -R ug+rwX storage bootstrap/cache
02

Yanlış sahiplik

Web süreci root sahipliğindeki dosyaya yazamayabilir.

Hatalı
root:root storage/logs
Doğru
deploy:www-data storage/logs
03

SELinux engeli

AlmaLinux/Rocky sistemlerinde context ayrıca kontrol edilmelidir.

Hatalı
chmod doğru ama Permission denied
Doğru
restorecon -Rv storage bootstrap/cache
02
SSH ve terminal

Tahmin etmeden önce ölçün ve logları doğrulayın

01

PHP-FPM ve web sunucusu kullanıcısını bulun

chown hedefini tahmin etmek yerine gerçek süreci doğrular.

ps -eo user,group,comm,args | grep -E 'php-fpm|apache2|httpd|lsphp' | grep -v grep
grep -R '^user\|^group' /etc/php/*/fpm/pool.d /etc/php-fpm.d 2>/dev/null
02

Dizin sahipliği ve izinleri görün

Üst dizinlerde eksik execute iznini de yakalar.

namei -l storage/logs/laravel.log 2>/dev/null || true
find storage bootstrap/cache -maxdepth 2 -printf "%M %u:%g %p\n" | head -n 100
03

Grup tabanlı güvenli izin uygulayın

deploy ve www-data değerlerini gerçek kullanıcı/grubunuzla değiştirin.

chown -R deploy:www-data storage bootstrap/cache
find storage bootstrap/cache -type d -exec chmod 2775 {} \;
find storage bootstrap/cache -type f -exec chmod 664 {} \;
04

Laravel yazma testini uygulayın

CLI ve web kullanıcısı farklıysa web isteğiyle ayrıca doğrulayın.

php artisan optimize:clear
php artisan view:cache
php artisan tinker --execute="logger()->info('izin testi');"
03
Kontrollü uygulama

Adım adım güvenli çözüm sırası

01

Adım 1

Proje ve veritabanı yedeğini alın; mevcut izinleri kaydedin.

02

Adım 2

PHP-FPM/Apache/LSAPI sürecinin gerçek kullanıcı ve grubunu belirleyin.

03

Adım 3

storage ve bootstrap/cache sahipliğini dağıtım modelinize göre düzenleyin.

04

Adım 4

Dizinlere grup yazma ve execute, dosyalara grup yazma izni verin.

05

Adım 5

SELinux veya ACL kullanılıyorsa ek politikaları doğrulayın.

06

Adım 6

Laravel log, session, view ve cache yazma işlemlerini test edin.

04
Hata sözlüğü

Benzer görünen hataları doğru nedene bağlayın

4 kayıt
Hata

Permission denied

Çalışan kullanıcı dizine yazamıyor veya üst dizine giremiyor.

Hata

laravel.log could not be opened

storage/logs veya mevcut log dosyası farklı kullanıcıya ait.

Hata

Please provide a valid cache path

storage/framework alt dizinleri eksik veya yazılamıyor.

Hata

Operation not permitted

Dosya sistemi immutable flag, ACL, mount veya SELinux kısıtı içeriyor.

Aramanızla eşleşen hata bulunamadı.

Kaçınılması gerekenler

Sorunu büyüten müdahaleler

  • Tüm proje köküne 777 izni vermeyin.
  • .env ve config dosyalarını web kullanıcısına gereksiz yazılabilir yapmayın.
  • cPanel/Plesk kullanıcı modelini www-data varsayarak bozmayın.
  • Root ile Artisan çalıştırıp yeni root sahipli dosyalar üretmeyin.
Başarı doğrulaması

İşlemin bittiğini nasıl anlarsınız?

  • storage/logs/laravel.log güncellenebilir.
  • Session ve cache sürücüleri yazma hatası üretmez.
  • view:cache ve optimize komutları başarılıdır.
  • Web ve CLI kullanıcıları gereksiz geniş izin kullanmaz.
05
FAQ

Sık sorulan teknik sorular

chmod 777 neden önerilmiyor?

Tüm kullanıcıların yazabilmesi, aynı sunucudaki başka süreçlerin uygulama dosyalarını değiştirebilmesine yol açabilir. Doğru sahiplik ve grup modeli daha güvenlidir.

cPanel’de kullanıcı adı ne olmalı?

Genellikle ilgili cPanel hesabının kendi kullanıcısı ve PHP handler modeli esas alınır. www-data komutlarını doğrudan kopyalamadan önce process çıktısını kontrol edin.

İzinler deploy sonrası neden tekrar bozuluyor?

Deployment root veya farklı kullanıcıyla dosya oluşturuyorsa sahiplik yeniden değişir. Deploy komutlarını uygulama kullanıcısıyla çalıştırın ve izin adımını pipeline içine ekleyin.

06
Konu kümesi

İlgili Laravel ve sunucu hata rehberleri

Resmî teknik kaynaklar

Çözüm adımları birincil dokümanlarla doğrulandı

Laravel Deployment PermissionsLaravel Directory StructurePHP Error ConfigurationLaravel Configuration
EKA YAZILIM VE BİLİŞİM SİSTEMLERİ

Laravel izinlerini 777 ile değil doğru kullanıcı ve grup mimarisiyle düzenleyelim

Laravel, PHP-FPM, Nginx, Apache, MySQL, cPanel ve Plesk katmanlarını loglarla birlikte inceleyerek kalıcı çözüm uyguluyoruz.

Teknik Destek AlWhatsApp ile Yaz
Top