Deployment
Kenapa File Upload Sering Jadi Sumber Bug Produksi yang Diremehkan
Fitur upload terlihat sederhana bagi pengguna, tetapi secara teknis melibatkan banyak lapisan yang mudah saling bertabrakan jika tidak dikonfigurasi dengan hati-hati.
Kenapa upload sering tampak sepele
Dari sudut pandang pengguna, upload hanya terlihat sebagai tombol pilih file lalu kirim. Tapi di sisi sistem, ada banyak lapisan yang terlibat: browser, web server, PHP runtime, validasi aplikasi, storage, permission, dan cara file itu ditampilkan kembali di public.
Karena melibatkan banyak lapisan, bug upload sering membingungkan.
Lapisan masalah yang paling sering muncul
Limit dari web server
Nginx atau reverse proxy bisa menolak request terlalu besar bahkan sebelum Laravel memprosesnya. Kalau client_max_body_size terlalu kecil, aplikasi bisa tampak rusak padahal request-nya tidak pernah benar-benar sampai.
Limit dari PHP
Banyak deploy lupa menaikkan upload_max_filesize dan post_max_size. Akibatnya, form terlihat normal tapi file gagal masuk saat ukurannya sedikit lebih besar.
Storage path dan permission
File bisa saja berhasil tersimpan, tapi tidak bisa diakses publik karena symlink storage belum benar, permission salah, atau disk config tidak sesuai.
Validasi aplikasi
Kadang masalah bukan di server, tapi di validation rule yang terlalu ketat atau tidak sinkron dengan kebutuhan nyata pengguna.
Kenapa ini penting untuk bisnis
Fitur upload sering dipakai untuk hal-hal krusial: cover artikel, bukti transfer, dokumen, foto produk, atau file deliverable. Kalau upload gagal, pengguna cepat kehilangan kepercayaan karena masalahnya terasa sangat mendasar.
Checklist singkat yang layak diuji
Setelah deploy, minimal lakukan pengujian berikut:
- upload file kecil dan file menengah
- pastikan file bisa dilihat kembali dari public URL
- cek log server bila upload gagal tanpa pesan jelas
- verifikasi storage link dan mount path
- pastikan limit server selaras dengan limit aplikasi
Penutup
Upload adalah salah satu fitur yang tampak sederhana tapi paling mudah memunculkan bug produksi. Justru karena terlihat sepele, banyak tim menunda pengecekan detailnya. Padahal sedikit perhatian di awal bisa mencegah banyak gangguan di sisi pengguna.
Lanjut eksplorasi
Kalau artikel ini relevan dengan kebutuhan implementasi atau source code siap pakai, lanjutkan ke katalog produk atau baca artikel teknis lain yang masih berhubungan.