PHPでメモリが枯渇すると以下のようなエラーが表示されます。

PHP Fatal error:  Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/Cellar/composer/1.10.10/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/Cellar/composer/1.10.10/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223

Laravelのインストール時や重い処理を行った際に出ることが多いです。
このエラーはphp.iniのファイルを編集することで解決することができます。

php.iniの場所を特定する

以下のコマンドでphp.iniファイルの場所を特定します。

$ php -r "phpinfo();" | grep php.ini

結果は↓のように出てくると思います。

$ php -r "phpinfo();" | grep php.ini
Configuration File (php.ini) Path => /usr/local/etc/php/8.1
Loaded Configuration File => /usr/local/etc/php/8.1/php.ini

結果から、`/usr/local/etc/php/8.1/php.ini`にファイルがあるのでこのファイルを編集します。

php.iniのmemory_limitの値を上げる

デフォルトは、128Mだったので多めにみて4GB程度(1024 * 4 = 4096M)を指定します。
ローカルサーバーなので結構大きく設定しましたが、レンタルサーバーの場合は2048Mあたりが適当です。

; Maximum amount of memory a script may consume
; https://php.net/memory-limit
memory_limit =128M

メモリ上限が緩和されたか確認する

最後に編集したphp.iniの内容が反映されたかを確認します。
php.iniファイルを探す感じでコマンドラインで次のコマンドを実行します。

$ php -r "phpinfo();" | grep memory_limit

実行後の結果に先ほど設定したメモリ上限値になっていればOKです。

$ php -r "phpinfo();" | grep memory_limit
memory_limit => 4096M => 4096M