Unggahan yang gagal hampir selalu berarti salah satu dari tiga batas, dan menaikkan batas yang Anda kenal justru meninggalkan dua yang lain menghalangi jalan. Ketiganya harus sekurangnya sebesar berkas itu.

Ketiganya

  • upload_max_filesize (PHP) - berkas tunggal terbesar.
  • post_max_size (PHP) - seluruh permintaannya, jadi ia harus LEBIH BESAR daripada berkasnya: ruas-ruas formulirnya ikut dihitung.
  • client_max_body_size (Nginx) - server webnya menolak sebelum PHP tercapai sama sekali.
; php.ini
upload_max_filesize = 64M
post_max_size = 72M
memory_limit = 256M
# nginx
client_max_body_size 72M;

Yang mana yang menolak

  • 413 Request Entity Too Large - Nginx. PHP sama sekali tak melihatnya.
  • Pesan dari PHP tentang ukurannya - upload_max_filesize.
  • $_POST yang kosong tanpa galat sama sekali - post_max_size. PHP membuang seluruh permintaannya tanpa suara, dan itulah sebabnya yang satu ini begitu membingungkan.

Pastikan perubahannya berlaku

php -i | grep -E "upload_max_filesize|post_max_size"
Itu membaca konfigurasi baris perintah, yang sering kali berkasnya berbeda dari yang dipakai server webnya. Percayai halaman phpinfo() ketimbang baris perintah - hanya ia yang menunjukkan dengan apa situs Anda sungguh-sungguh berjalan.
WordPress menampilkan batas yang berlaku di halaman medianya. Kalau sesudah sebuah perubahan ia masih menampilkan angka lama, berarti PHP-FPM belum dimuat ulang: systemctl reload php8.3-fpm.