Beresin error request entity too large di WordPress sendiri biar kamu bisa upload file besar

Beresin error request entity too large di WordPress sendiri biar kamu bisa upload file besar
Photo by Rubaitul Azad/Unsplash

Pasti pernah kan lagi asyik-asyiknya mau upload file gede di WordPress, eh nongol error aneh yang bikin gondok: "Request Entity Too Large"? Rasanya tuh kayak lagi lari kenceng tapi tiba-tiba diinjek rem mendadak. Kesel, panik, bingung, campur aduk deh. Apalagi kalau file yang mau di-upload itu penting banget, misalnya video buat landing page, plugin atau tema premium yang ukurannya lumayan, atau mungkin file backup database kamu yang udah gede banget.

Nah, error ini tuh intinya bilang kalau file yang kamu coba upload itu "kegedean" buat server tempat website WordPress kamu tinggal. Server punya batasan maksimum ukuran file yang bisa diterima dalam satu kali permintaan (request). Kalau file kamu melebihi batas itu, si server langsung nolak mentah-mentah, dan muncullah pesan error "Request Entity Too Large" ini.

Kenapa bisa kejadian? Biasanya sih karena setting default di server hosting kamu memang punya limit upload yang nggak terlalu besar. Ini wajar kok, tujuannya biar server nggak gampang "sesak" kalau ada banyak orang yang lagi upload file gede barengan. Tapi kadang, limit default itu nggak sesuai sama kebutuhan kita yang pengen upload file jumbo.

Daripada pusing mikirin harus gimana, mending kita bedah bareng cara ngatasin error ini biar kamu bisa upload file gede sesuka hati (tapi tetep dalam batas wajar ya, jangan upload file satu bioskop juga). Tenang, nggak serumit kedengerannya kok. Ada beberapa cara yang bisa kamu coba, mulai dari yang paling gampang sampai yang butuh sedikit sentuhan teknis. Yuk, kita mulai!

Sebelum Bertindak, Kenali Dulu Limit Kamu

Langkah pertama sebelum melakukan apa pun buat ngatasin error ini adalah, kamu harus tahu dulu berapa sih batasan upload file di WordPress kamu saat ini. Caranya gampang kok.

  1. Lewat Dashboard WordPress: Masuk ke dashboard admin WordPress kamu. Cari menu Media, terus klik Tambah Baru. Di halaman upload media, biasanya di bawah tombol "Pilih Berkas", ada tulisan kecil yang nunjukkin "Ukuran unggahan maksimum berkas: XXX MB". Nah, itu dia limit kamu.
  2. Lewat Info PHP (Kalau Ada Akses cPanel/Plesk/Kontrol Panel Lain): Ini cara yang lebih detail. Kalau kamu punya akses ke kontrol panel hosting (Kayak cPanel, Plesk, dsb.), cari menu yang namanya "PHP Info" atau "PHP Configuration". Di situ kamu bakal nemuin seabrek setting PHP. Cari deh parameter uploadmaxfilesize, postmaxsize, dan memorylimit. Nilai uploadmaxfilesize adalah batasan upload file per satu file. postmaxsize adalah batasan total data yang bisa dikirim dalam satu permintaan (request), ini penting karena upload file juga dikirim dalam sebuah request POST. memorylimit adalah batasan memori yang bisa dipakai skrip PHP, ini juga ngaruh kalau filenya gede.

Setelah tahu limitnya, kamu jadi punya gambaran seberapa jauh kamu harus naikin limitnya biar file gede kamu bisa di-upload. Misal, kalau file kamu 50MB tapi limitnya cuma 10MB, ya jelas error. Berarti kamu perlu naikin limitnya paling nggak sampai 50MB atau lebih baik lagi 64MB, 128MB, atau bahkan 256MB sekalian biar aman buat upload-upload berikutnya.

Cara-Cara Ampuh Beresin Error "Request Entity Too Large"

Oke, udah tahu limitnya, sekarang saatnya eksekusi! Ada beberapa metode yang bisa kamu coba. Cobalah mulai dari metode yang paling gampang dulu. Kalau nggak berhasil, baru lanjut ke metode berikutnya.

Metode 1: Lewat File functions.php (Paling Gampang, Tapi Hati-hati)

Ini cara yang sering disaranin karena kelihatannya paling gampang, cuma nambahin beberapa baris kode di file functions.php tema kamu. Tapi, perlu diingat, cara ini punya kelemahan: kalau kamu ganti tema, settingan ini bisa hilang. Terus, kalau salah nambahin kode, website kamu bisa error "white screen of death" (layar putih kosong). Jadi, hati-hati ya dan pastikan kamu backup file functions.php sebelum diedit.

Caranya:

  1. Akses file website kamu. Bisa pakai File Manager di kontrol panel hosting (cPanel, Plesk, dll.) atau pakai klien FTP/SFTP kayak FileZilla, WinSCP, atau Cyberduck.
  2. Navigasi ke folder tema yang sedang aktif. Biasanya lokasinya di [folderrootwordpress]/wp-content/themes/[namatemakamu]/.
  3. Cari file namanya functions.php.
  4. Edit file tersebut. Tambahkan kode ini di bagian paling bawah file, sebelum tag penutup ?> kalau ada (tapi banyak tema modern udah nggak pakai tag penutup itu).

php
    @iniset( 'uploadmax_filesize', '128M' );
    @iniset( 'postmax_size', '128M');
    @iniset( 'memorylimit', '256M' );
    @iniset( 'maxexecution_time', '300' );
    @iniset( 'maxinput_time', '300' );

Kamu bisa ganti angka 128M, 256M, dan 300 sesuai kebutuhan kamu. 128M artinya 128 Megabytes. 300 artinya 300 detik (5 menit). uploadmaxfilesize buat ukuran file, postmaxsize buat ukuran total request, memorylimit buat batasan memori PHP, dan maxexecutiontime serta maxinput_time buat waktu maksimal yang diizinkan buat proses skrip PHP (upload file gede kadang butuh waktu lama).

  1. Simpan perubahan file functions.php.
  2. Coba lagi upload file yang tadinya error.

Kalau masih error, kemungkinan setting di functions.php ini ditimpa (override) sama setting global di server. Jadi, kamu perlu coba metode lain.

Metode 2: Lewat File wp-config.php (Sedikit Lebih Baik dari functions.php)

Mengubah setting di file wp-config.php ini sedikit lebih "global" dibanding functions.php, karena file ini adalah salah satu file utama konfigurasi WordPress. Setting di sini punya prioritas yang lumayan tinggi. Tapi, sama kayak functions.php, salah edit bisa bikin website error. Selalu backup dulu ya!

Caranya:

  1. Akses file website kamu pakai File Manager atau FTP/SFTP.
  2. Cari file wp-config.php. Lokasinya ada di folder root instalasi WordPress kamu, sejajar sama folder wp-admin, wp-includes, dan wp-content.
  3. Edit file tersebut. Cari baris yang ada tulisan / That's all, stop editing! Happy publishing. / atau yang sejenis (ini penanda akhir setting utama).
  4. Tambahkan kode ini di atas baris penanda akhir tadi:

php
    define( 'WPMEMORYLIMIT', '256M' );
    // Tambahan setting PHP kalau wp-config.php bisa menimpa setting server
    @iniset( 'uploadmax_filesize', '128M' );
    @iniset( 'postmax_size', '128M');
    @iniset( 'maxexecution_time', '300' );
    @iniset( 'maxinput_time', '300' );

Kamu bisa sesuaikan angka 256M, 128M, dan 300 sesuai kebutuhan. WPMEMORYLIMIT khusus buat setting memori limit di WordPress (ini kadang nggak sama dengan memorylimit di PHP). Parameter iniset di sini sama fungsinya kayak yang di functions.php, cuma dicoba di file ini.

  1. Simpan perubahan file wp-config.php.
  2. Coba lagi upload file kamu.

Kalau masih error juga, berarti kamu perlu akses ke setting server yang lebih mendasar.

Metode 3: Lewat File .htaccess (Cara Populer, Lumayan Ampuh)

File .htaccess ini file konfigurasi buat server web Apache (server yang paling umum dipakai hosting). Lewat file ini, kita bisa ngasih instruksi ke server, termasuk soal limit upload file. Cara ini lebih powerful dan permanen dibanding dua cara sebelumnya (selama kamu nggak ganti server web atau konfigurasi server secara drastis). Lokasinya ada di folder root website kamu. File ini biasanya "tersembunyi" (hidden), jadi pastikan pengaturan File Manager atau FTP klien kamu bisa menampilkan file tersembunyi.

Caranya:

  1. Akses file website kamu pakai File Manager atau FTP/SFTP.
  2. Cari file .htaccess di folder root instalasi WordPress kamu. Kalau nggak ada, kamu bisa bikin file baru dengan nama persis .htaccess.
  3. Edit file tersebut. Tambahkan kode ini di bagian paling bawah file:

apacheconf
    phpflag displayerrors Off
    phpvalue uploadmax_filesize 128M
    phpvalue postmax_size 128M
    phpvalue memorylimit 256M
    phpvalue maxexecution_time 300
    phpvalue maxinput_time 300

Sama kayak sebelumnya, sesuaikan angka 128M, 256M, dan 300 dengan kebutuhan kamu. display_errors Off itu opsional, tujuannya biar error PHP nggak muncul di halaman website kamu (buat alasan keamanan dan kerapihan).

  1. Simpan perubahan file .htaccess.
  2. Coba lagi upload file yang gede.

Metode .htaccess ini cukup sering berhasil buat ngatasin error "Request Entity Too Large". Tapi, ada kalanya setting ini juga diabaikan oleh konfigurasi server global (misalnya, kalau servernya pakai Nginx, file .htaccess nggak akan dibaca). Atau, hosting provider kamu memang membatasi banget perubahan setting lewat .htaccess.

Metode 4: Lewat File php.ini (Cara Paling Ampuh, Butuh Akses Server)

File php.ini ini adalah file konfigurasi utama PHP di server. Setting yang ada di file ini punya prioritas paling tinggi. Mengubah setting di file php.ini adalah cara paling direkomendasikan dan paling ampuh buat ngatasi limit upload file. Tapi, metode ini butuh akses ke file php.ini di server, yang mana nggak semua hosting provider ngasih akses langsung ke file ini.

Ada beberapa skenario akses ke php.ini:

  • Hosting yang Kasih Akses php.ini Langsung: Beberapa hosting (terutama VPS atau dedicated server, tapi ada juga shared hosting tertentu) ngasih kamu akses buat ngedit file php.ini secara langsung. Lokasinya bisa beda-beda tergantung konfigurasi server, tapi biasanya ada di folder /etc/php/ atau di folder home user kamu. Kalau kamu nemuin file ini, buka, cari baris uploadmaxfilesize, postmaxsize, memorylimit, maxexecutiontime, dan maxinputtime. Ubah nilainya sesuai yang kamu mau (misalnya, dari uploadmaxfilesize = 10M jadi uploadmax_filesize = 128M). Jangan lupa hapus tanda titik koma (;) di depan baris tersebut kalau ada, karena titik koma menandakan baris itu komentar dan nggak aktif. Setelah diubah, simpan file dan biasanya kamu perlu restart web server (Apache/Nginx) atau service PHP-FPM agar perubahannya efektif. Ini biasanya bisa dilakukan lewat kontrol panel hosting atau perintah SSH kalau kamu punya akses.
  • Hosting yang Sediakan PHP Selector/PHP Configuration: Banyak shared hosting modern nggak ngasih akses langsung ke php.ini, tapi mereka nyediain fitur di kontrol panel mereka (cPanel, Plesk, custom panel) yang namanya PHP Selector, MultiPHP Manager, atau PHP Configuration. Lewat fitur ini, kamu bisa milih versi PHP yang mau dipakai dan mengubah beberapa setting dasar PHP, termasuk uploadmaxfilesize dan postmaxsize. Caranya tinggal masuk ke kontrol panel hosting kamu, cari fitur ini, dan ubah nilainya lewat antarmuka grafis yang disediakan. Ini cara yang paling gampang kalau hosting kamu punya fitur ini.
  • Hosting yang Nggak Kasih Akses Sama Sekali: Ada juga hosting yang setting PHP-nya dikunci dan nggak bisa diubah user. Dalam kasus ini, kamu nggak bisa pakai metode php.ini ini sendiri.

Kalau kamu bisa ngakses php.ini atau pakai fitur PHP Selector di kontrol panel, ini adalah cara paling disarankan karena perubahannya akan efektif di seluruh situs yang pakai konfigurasi PHP itu.

Metode 5: Hubungi Hosting Provider Kamu (Cara Paling Gampang Kalau Kamu Mentok)

Kalau kamu udah coba semua cara di atas (functions.php, wp-config.php, .htaccess) tapi masih error juga, atau kamu nggak yakin gimana cara ngedit file-file di atas, atau hosting kamu nggak ngasih akses buat ngubah setting PHP sendiri, maka cara paling mudah dan pasti berhasil adalah menghubungi tim support hosting provider kamu.

Jelasin masalahnya: kamu dapat error "Request Entity Too Large" saat upload file di WordPress dan kamu mau menaikkan limit uploadmaxfilesize, postmaxsize, memorylimit, maxexecutiontime, dan maxinput_time. Sebutkan angka yang kamu inginkan (misalnya, 128MB untuk upload dan post size, 256MB untuk memory limit, dan 300 detik untuk execution/input time).

Mereka lah yang punya akses penuh ke konfigurasi server dan bisa mengubah setting ini buat kamu. Biasanya, tim support hosting itu responsif kok buat permintaan simpel kayak gini. Mereka juga bisa ngasih tahu kalau ada batasan maksimal dari sisi mereka yang nggak bisa dilewati.

Metode 6: Upload File Lewat FTP/SFTP (Alternatif Kalau Upload Lewat Dashboard Susah)

Metode ini bukan buat ngatasin error "Request Entity Too Large" secara langsung di proses upload dashboard WordPress, tapi ini adalah workaround alias jalan pintas kalau kamu beneran butuh masukin file gede (misalnya gambar atau video) ke website tapi nggak bisa upload lewat dashboard.

Kamu bisa upload file-file gede itu langsung ke folder yang kamu mau (misalnya, folder wp-content/uploads/) di server pakai klien FTP/SFTP kayak FileZilla. Setelah file-nya ter-upload ke server, kamu bisa "daftarin" file itu ke Media Library WordPress pakai plugin kayak "Add From Server". Plugin ini bakal scan folder di server kamu dan ngasih opsi buat import file-file yang udah ada di sana ke Media Library WordPress kamu, seolah-olah kamu baru aja upload lewat dashboard.

Cara ini efektif buat file media, tapi nggak bisa dipakai buat upload tema atau plugin langsung lewat menu Appearance > Themes > Add New atau Plugins > Add New, karena proses instalasi tema/plugin butuh proses unzip dan aktivasi yang cuma bisa dilakuin lewat dashboard (atau SSH kalau kamu ahli). Tapi kalau file gede kamu itu cuma media, cara ini bisa jadi penyelamat.

Kenapa Setting Ini Penting Banget Buat WordPress?

Error "Request Entity Too Large" itu cuma satu dari banyak error terkait batasan resource di server. Limit uploadmaxfilesize, postmaxsize, memorylimit, maxexecutiontime, dan maxinput_time itu saling terkait dan penting banget buat kelancaran kerja WordPress, terutama kalau website kamu mulai kompleks, pakai banyak plugin, atau punya konten multimedia yang gede.

  • uploadmaxfilesize dan postmaxsize: Ini yang paling langsung ngaruh ke upload file. Kalau kekecilan, ya gini deh errornya.
  • memory_limit: WordPress itu butuh memori PHP buat jalan. Kalau limitnya kekecilan, website bisa lemot, error internal server (500), atau bahkan blank page, apalagi pas lagi proses berat kayak install plugin/tema, update, atau proses data. Menaikkan ini seringkali menyelesaikan berbagai error misterius.
  • maxexecutiontime dan maxinputtime: Ini batasan waktu maksimal skrip PHP boleh berjalan. Proses upload file gede, ngimport data, atau menjalankan skrip kompleks bisa butuh waktu. Kalau melebihi limit ini, prosesnya bakal dihentikan paksa dan muncullah error timeout.

Jadi, sekalian aja kalau kamu mau naikin uploadmaxfilesize dan postmaxsize, pastikan juga memorylimit, maxexecutiontime, dan maxinput_time udah cukup tinggi. Angka 128M untuk upload/post size, 256M untuk memory limit, dan 300 detik untuk execution/input time itu angka yang cukup umum dan biasanya udah aman buat kebanyakan website WordPress. Tapi kalau website kamu super jumbo atau kamu sering ngolah data gede banget, mungkin perlu lebih tinggi lagi.

Tips Tambahan Biar Nggak Gampang Error Lagi

Selain naikin limit, ada beberapa tips tambahan biar pengalaman kamu pakai WordPress lancar dan nggak gampang ketemu error kayak gini:

  • Optimasi File Sebelum Upload: Sebelum di-upload, kompres dulu file gambar atau video kamu kalau bisa. Ini nggak cuma ngurangi ukuran file sehingga nggak gampang kena limit upload, tapi juga bikin website kamu lebih cepat diakses sama pengunjung karena file yang didownload jadi lebih kecil. Banyak tool online gratis atau aplikasi desktop buat kompres file media.
  • Pilih Hosting yang Tepat: Kalau kamu sering banget ketemu error limit resource kayak gini, mungkin itu pertanda hosting kamu kurang powerful buat kebutuhan website kamu. Shared hosting itu biasanya punya limit yang ketat. Kalau website kamu udah mulai ramai atau butuh resource lebih, pertimbangkan upgrade ke paket shared hosting yang lebih tinggi, VPS, atau cloud hosting.
  • Hati-hati dengan Plugin dan Tema: Beberapa plugin atau tema yang kurang optimal kodenya bisa menghabiskan banyak memori atau waktu eksekusi, yang secara nggak langsung bisa memicu error limit, termasuk saat upload. Pastikan kamu pakai plugin dan tema dari sumber terpercaya dan yang kodenya bagus.
  • Jangan Upload File Nggak Penting: Jangan jadiin Media Library WordPress kamu tempat penyimpanan segala macam file. Uploadlah hanya file yang memang relevan dan akan ditampilkan di website.
  • Bersihkan Media Library: Sesekali, bersihkan Media Library kamu dari file-file yang udah nggak dipakai. Meskipun nggak ngaruh langsung ke limit upload, ini bantu menjaga database dan folder hosting kamu tetap rapi dan nggak kekenyangan.

Kesimpulan

Error "Request Entity Too Large" di WordPress itu masalah umum yang bikin pusing, tapi sebenarnya gampang diatasi kalau kamu tahu caranya. Intinya sih, kamu perlu menaikkan batasan ukuran file yang diizinkan oleh server. Kamu bisa coba utak-atik file functions.php, wp-config.php, atau .htaccess, tapi cara paling ampuh dan disarankan adalah lewat file php.ini atau fitur PHP Configuration di kontrol panel hosting kamu. Kalau kamu nggak punya akses atau nggak yakin, jangan ragu buat minta bantuan tim support hosting.

Ingat, backup file sebelum edit apa pun itu wajib hukumnya ya! Dan naikin limit secukupnya aja, nggak perlu gila-gilaan sampai terabyte juga. Sesuaikan sama kebutuhan kamu. Dengan setting limit yang pas, kamu bisa upload file gede tanpa drama dan fokus ke hal yang lebih penting: bikin konten keren buat website WordPress kamu!

Semoga artikel ini ngebantu banget buat kamu yang lagi pusing sama error upload di WordPress. Selamat mencoba!