How to solve this error on live server for laravel?

Your problem is related to the probable fact of having only 1gb of RAM and not having memory swap, so let's create and enable it to take some time off at the time of composer execution.

Folow this steps:

1) Creating 1gb memory swapfile:

$ sudo fallocate -l 1G /swapfile

$ sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

This command created the /swapfile file with 1GB in size.

2) Configuring file to swap:

$ sudo chmod 600 /swapfile

$ sudo mkswap /swapfile

3) Enable swap:

$ sudo swapon /swapfile

To see result you can run free -m or see on htop

Example: $ sudo free -m

              total       usada       livre    compart.  buff/cache  disponível
Mem.:          7664        1052        3436          56        3175        6259
Swap:          1024           0        1024

Example: $ sudo swapon --show

NAME      TYPE SIZE USED PRIO
/swapfile file   1G   0B   -2

Test please.


You should not call composer require or composer update on production server - you should run it locally, verify that everything works fine, and commit generated composer.lock with your project. Then on production server you need to run only composer install --no-dev - it will install all non-dev dependencies defined in lock file. composer install is much faster and uses fraction of RAM required by composer require or composer update, so it should work fine even on server with low memory. It also gives you more control on version of libraries installed on production server, so you can test app more reliable.