Cara Mengatasi Allowed Memory Size of Bytes Exhausted
Apa itu Error: Allowed Memory Size of Bytes Exhausted?
Allowed memory size of bytes exhausted merupakan notifikasi error yang biasa muncul saat gagal mengupload file atau gambar berukuran besar di server.
Error tersebut dapat terjadi karena limit memori PHP tidak cukup untuk upload file yang besar. Limit memori PHP biasanya memang telah diatur untuk mencegah adanya script buruk yang akan menghabiskan semua memori dalam suatu server.
Namun tidak perlu terlalu khawatir sebab bisa memperbesar limit memori PHP tersebut. Sehingga proses upload file dan gambar bisa berhasil dilakukan dan notifikasi tersebut tidak lagi muncul.
Penyebab Error “Fatal Error Allowed Memory Size Exhausted”
Seperti yang diketahui, WordPress menggunakan kode dan skrip PHP untuk sebagian besar fungsinya. PHP adalah bahasa pemrograman sisi server yang membutuhkan sumber daya server untuk mengeksekusi skrip dan tindakan. Ini berarti sistem WordPress dan semua plugin yang di install di situs web menggunakan memori server.
Error “allow memory size exhausted” terjadi saat WordPress atau salah satu plugin menggunakan terlalu banyak memori server. Ketika server kehabisan memori yang dialokasikan untuk situs web, itu memberi kesalahan “allowed memory size exhausted”.
Ini biasanya terjadi ketika menghosting situs web dengan lalu lintas yang tinggi dan besar menggunakan server hosting bersama kecil, yang mengalokasikan memori PHP dalam jumlah sangat sedikit untuk setiap paket hosting.
Untuk memperbaiki kesalahan tersebut harus secara manual meningkatkan batas memori PHP default yang ditetapkan untuk server.
Apa Itu Batas Memori PHP?
Batas memori PHP adalah jumlah memori yang dialokasikan server untuk menjalankan kode dan skrip PHP yang digunakan oleh WordPress dan plugin. Berbeda penyedia web hosting mengatur jumlah yang berbeda dari memori untuk masing-masing paket hosting.
Misalnya, beberapa penyedia web hosting menawarkan 256MB memori per akun hosting. Itu lebih dari cukup untuk menghosting situs WordPress dengan lalu lintas reguler. Kesalahan kehabisan memori hanya terjadi ketika host web mengalokasikan jumlah memori yang lebih rendah untuk setiap situs web.
Cara mengatasi allowed memory size of bytes exhausted
Berikut ini beberapa cara mengatasi error limit memori PHP yang bisa dicoba, yaitu :
1. Edit File php.ini
Cara pertama mengatasi error allowed memory size of bytes exhausted adalah mengedit file php.ini.
Lokasi file tersebut bisa berbeda-beda sesuai cara menginstall dan sistem operasi yang digunakan. Namun, biasanya file php.ini terdapat pada lokasi berikut :
- /etc/php.ini
- /etc/php5/apache2/php.ini
- /etc/local/lib/php.ini
- /usr/local/lib/php.ini
- C:\xampp\php\php.ini (khusus XAMPP Windows)
Jika file php.ini sudah ketemu, tambahkan perintah berikut ini untuk menambahkan limit memory :
Memory_limit = 128M;
Bisa menambahkan limit lebih tinggi dari limit sebelumnya. Semisal limit sebelumnya 32MB bisa update ke 64MB dulu atau bisa langsung ke 128MB.
2. Edit File .htaccess
Jika cara di atas belum berhasil, coba edit file .htaccess. Cara ini juga merupakan cara khusus bagi yang menggunakan shared hosting, bisa edit file .htaccess.
Caranya gampang banget. Tinggal login ke cPanel > File Manager > home > public_html > .htaccess.
Lalu klik kanan pada file .htaccess, pilih edit. Kemudian tambahkan kode berikut untuk menambah memori :
Php_value memory_limit 64MB;
Sebagai pengguna shared hosting tentu tidak bisa leluasa meningkatkan limit terlalu tinggi. Sebab, setiap pengguna telah diberikan kuota memori. Jadi jika ingin meningkatkan limit bisa pindah ke paket hosting yang memiliki kapasitas memori lebih besar.
3. Edit File wp-config.php
Cara lainnya yang bisa dicoba adalah dengan mengedit file wp-config.php.
Cara melakukannya dengan menggunakan File Manager :
- Login ke CPanel dengan mengetik / cpanel di akhir nama domain (misalnya: yourwebsite.com/cpanel) gunakan detail login yang diterima dari host web di email selamat datang untuk login ke CPanel.
- Buka File Manager dan cari folder Public.html
- Temukan file wp-config.php kemudian klik kanan dan pilih Edit.
- Cari baris yang bertuliskan “That’s all, stop editing! Happy blogging” dan tempel kode berikut tepat di atasnya.
Definisikan (‘WP_MEMORY_LIMIT’, ‘256M’);
Ini menetapkan batas memori PHP default menjadi 256MB.
- Klik Simpan untuk menyimpan perubahan. Kembali ke situs web dan muat ulang untuk melihat apakah itu memperbaiki kesalahan.
Catatan: Selalu buat salinan cadangan file sebelum mengeditnya.
4. Buat File php.ini di Direktori yang Mengalami Masalah
Cara terakhir, buatlah file php.ini pada folder wp-admin. Caranya, setelah login ke cPanel, klik File Manager > home > public_html > wp-admin.
Lalu klik ikon tambah yang terletak di bagian toolbar untuk membuat file php.ini baru di folder wp-admin.
Kemudian tambahkan perintah berikut ini :
Memory_limit = 64M;
Bisa menambah nilai limit lebih tinggi sesuai dengan kebutuhan.
5. Nonaktifkan dan Aktifkan Kembali Plugin
Meningkatkan batas memori PHP biasanya memperbaiki kesalahan kehabisan memori. Jika tidak, salah satu plugin yang di install di situs mungkin menyebabkan kesalahan.
Dapat memeriksa untuk melihat plugin mana yang menyebabkan masalah dengan menonaktifkan semua plugin dan kemudian mengaktifkannya kembali satu per satu untuk menemukan pelakunya.
Karena tidak dapat mengakses dashboard WordPress perlu menonaktifkan plugin dari server. Untuk melakukan ini perlu masuk ke server sekali lagi.
- Login ke CPanel dengan mengetik / cpanel di akhir nama domain (misalnya : yourwebsite.com/cpanel) gunakan detail login yang diterima dari host web di email selamat datang untuk login ke CPanel.
- Buka folder wp-content dan cari folder plugins.
- Ubah nama folder plugin menjadi “plugins-bad”. Jangan khawatir, ini tidak akan menghapus plugin apa pun yang di install.
- Buat folder kosong baru dan beri nama plugin.
Ini akan menonaktifkan semua plugin yang di install di situs. Sekarang, muat ulang situs web dan lihat apakah itu memperbaiki kesalahan. Jika situs web berfungsi seperti biasa lagi, kesalahan itu kemungkinan besar disebabkan oleh plugin.
Sekarang, kembali ke folder wp-content. Hapus folder kosong yang dibuat sebelumnya dan ganti nama folder “plugins-bad” kembali menjadi “plugins”. Ini akan memulihkan plugin lama tanpa mengaktifkannya.
Sekarang dapat masuk ke dashboard WordPress dan mengaktifkan kembali plugin untuk melihat mana yang menyebabkan kesalahan.