Terima kasih, Guru Duan. Ini dia penyebab utama error upload_error_cant_write
:
🔥 Masalah Utama:
/dev/sda7 15G 14G 0 100% /
Artinya: partisi root /
(tempat sistem dan folder /tmp
) sudah penuh.
💥 Dampak:
Karena /tmp
berada di partisi /
, maka semua proses PHP (termasuk move_uploaded_file
) gagal menyimpan file sementara, sehingga Moodle menampilkan:
Error: Failed to write file to disk.
Error code: upload_error_cant_write
✅ Solusi Segera: Kosongkan ruang di partisi /
Jalankan:
sudo du -sh /* 2>/dev/null | sort -h
Untuk melihat apa yang paling memakan ruang. Fokus pada direktori seperti:
-
/var/log
-
/tmp
-
/root
-
/usr
🔧 Contoh Tindakan:
1. Bersihkan file log lama:
sudo journalctl --vacuum-time=3d
sudo rm -rf /var/log/*.gz /var/log/*.1 /var/log/*-???????? /var/log/*/*.gz
2. Bersihkan cache APT dan Snap:
sudo apt clean
sudo rm -rf /var/cache/apt/*
sudo rm -rf /var/lib/snapd/cache/*
3. Hapus file sementara (jika aman):
sudo rm -rf /tmp/*
🔒 Alternatif Aman: Pindahkan upload_tmp_dir
ke partisi besar
Karena partisi /var
masih lega 233 GB, kita bisa arahkan folder upload PHP ke sana:
🔧 Langkah-langkah:
-
Buat folder baru:
sudo mkdir -p /var/moodledata/temp sudo chown www-data:www-data /var/moodledata/temp
-
Edit
php.ini
:
Lokasi bisa dicari dengan:php --ini
Kemudian buka dan ubah:
upload_tmp_dir = /var/moodledata/temp
-
Restart PHP:
sudo systemctl restart php8.2-fpm
-
Uji ulang upload pengguna di Moodle.
🔁 Kesimpulan
Masalah | Solusi |
---|---|
/ penuh |
Bersihkan ruang atau pindahkan upload folder ke /var |
Upload gagal | Karena PHP tidak bisa tulis file sementara |
Kalau Guru Duan ingin saya bantu bersihkan ruang secara spesifik, silakan kirim:
sudo du -sh /tmp /var/log /usr /root 2>/dev/null
atau lanjutkan dengan pengalihan upload_tmp_dir
ke /var/moodledata/temp
. Saya siap bantu arahkan.
0 comments:
Post a Comment