Saat menjalankan composer install atau composer update — terutama di VPS kecil atau shared hosting — Anda mungkin bertemu error ini:
Fatal error: Allowed memory size of 134217728 bytes exhausted
Artinya Composer kehabisan memori PHP saat menyelesaikan dependency. Berikut beberapa cara mengatasinya, dari yang paling cepat.
1. Jalankan Composer Tanpa Batas Memori
Cara paling cepat: beri Composer memory limit tak terbatas hanya untuk perintah itu:
php -d memory_limit=-1 /usr/local/bin/composer install
atau jika composer global:
COMPOSER_MEMORY_LIMIT=-1 composer install
Ini menyelesaikan mayoritas kasus tanpa perlu mengubah konfigurasi server.
2. Naikkan memory_limit di php.ini
Untuk solusi permanen, cek lokasi php.ini CLI:
php --ini
Lalu naikkan nilainya, misalnya:
memory_limit = 512M
3. Gunakan Flag Optimasi Saat Install
Di server production, install tanpa dependency development mengurangi beban:
composer install --optimize-autoloader --no-dev
4. Tambah Swap Memory di VPS
Jika VPS Anda RAM-nya kecil (mis. 512MB–1GB), tambahkan swap agar tidak mudah kehabisan memori:
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Agar swap tetap aktif setelah reboot, tambahkan ke /etc/fstab:
/swapfile none swap sw 0 0
5. Alternatif: Build di Lokal, Upload vendor
Kalau server benar-benar tidak sanggup (umum di shared hosting murah), jalankan composer install di komputer lokal, lalu upload folder vendor ke server. Dengan begitu server tidak perlu menjalankan Composer sama sekali.
Kesimpulan
Error "Allowed memory size exhausted" pada Composer adalah soal keterbatasan memori, bukan bug project Anda. Solusi tercepat adalah COMPOSER_MEMORY_LIMIT=-1; untuk VPS kecil, tambahkan swap; dan bila hosting terlalu terbatas, build di lokal lalu upload vendor. Kalau Anda sedang menyiapkan server sendiri, lihat panduan kami tentang deploy Laravel ke VPS Ubuntu dengan Nginx.