Plesk panel file_put_contents / unlink hatası

Photo of author

Kerem SARI

Hatayı daha doğru tanımlamak gerekirse eğer; Plesk Panelde Read-only Dosya Sistemi Hatası ve Çözüm Yöntemleri diyebiliriz.

Bu hata mesajı, Plesk Panel’in Apache web sunucusunu yeniden başlatma veya yapılandırma güncellemeleri sırasında bir önbellek dosyasını silmeye çalıştığını ancak başarılı olamadığını gösteriyor.

Özellikle, /usr/local/psa/var/cache/apache_restart_stat dosyasını işlemeye veya silmeye çalışırken, dosya sistemi yalnızca-okunur (read-only) modda olduğundan işlem başarısız olmuş.

Hatanın detayları

  • Dosya yolu: /usr/local/psa/var/cache/apache_restart_stat
  • İşlem: unlink() fonksiyonu, belirtilen dosyayı silmeye çalışıyor.
  • Sorun: Dosya sistemine yazma izni olmadığı için işlem başarısız.
  • Kod satırı: Apache ile ilgili işlemlerin yapıldığı bir PHP dosyasının 178. satırında bu hata tetiklenmiş.

Bu durum, sunucunun dosya sisteminin bir bölümünün yalnızca-okunur moda geçmiş olmasından kaynaklanabilir. Bunun birkaç nedeni olabilir:

  1. ProtectSystem=full ayarının etkisi: Aktifse, bazı dizinler yazma korumasına alınabilir.
  2. Sunucu disk hataları: Dosya sistemi koruma moduna geçebilir.
  3. Mount edilmiş bir dosya sistemi yalnızca-okunur olarak ayarlanmış olabilir.

Büyük ihtimalle, hatta %90 ProtectSystem=full tanımı nedeniyle bu hatayı alıyoruz. Bu dosya izinlerinde tam güvenliği sağlamak için doğru bir yapılandırma. Bu yapılandırmayı değiştirmeden çözüm üreteceğiz.

ProtectSystem=full ayarını devre dışı bırakarakda bu sorunu çözebilirsiniz.

Genelde AlmaLinux 9 sürümüyle oluşan bir uyuşmazlık. Bu uyuşmazlığı bir hata olarak yorumlamak doğru değil. Bu ilerleyen Plesk sürümlerinde çözülecek bir sorun.

Hata kodu

PHP Warning: file_put_contents(/usr/local/psa/var/cache/apache_restart_stat): Failed to open stream: Read-only file system; File: /usr/local/psa/admin/plib/Service/Driver/Web/Server/Apache.php, Line: 180
PHP Warning: unlink(/usr/local/psa/var/cache/apache_restart_stat): Read-only file system; File: /usr/local/psa/admin/plib/Service/Driver/Web/Server/Apache.php, Line: 178

Çözüm

Öncelikle /usr/lib/systemd/system/logrotate.service dosyanızda ProtectSystem=full olup olmadığına bakın.

Eğer full ise dosyanın en altına ekleyin:

ReadWritePaths=/usr/local/psa/admin/plib/Service/Driver/Web/Server /usr/local/psa/var

Şimdi ProtectSystem=full günlüklerin olduğu dizin hariç her şeyi salt okunur olarak algılayacak.

Eğer hatayı tekrar alırsanız apache_restart_stat sahip kontrolü yapmamız gerekecek.

ssh üzerindne çalıştırın:

ls -alh /usr/local/psa/var/cache/apache_restart_stat

Çıkan sonuçta psaadm psaadm değerlerini görürseniz dosyanın root sahipliği olmadığı anlamına gelir. Dosyanın root erişimine açık olması gerekir.

Bunu sağlamak için çalıştırın:

chown root:root /usr/local/psa/var/cache/apache_restart_stat

Kontrol etmek için bir önceki komutu tekrar çalıştırın, psaadm psaadm yerine root root değerleirni göreceksiniz.

Bu şekilde AlmaLinux 9’dan kaynaklandığını düşündüğüm hatayı çözmüş oluyoruz.

Yorum yapın

Anasayfa » Sunucu & Hosting » Plesk panel file_put_contents / unlink hatası