はじめに
composerでなにかしたときにこういうエラーが起きたときの対処方法
PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted 以下省略
対処法
1. まずは読み込まれているphp.iniのメモリサイズを確認
$ php -r "echo ini_get('memory_limit').PHP_EOL;"
128MB
おそらくこの状態になっているので、この上限を増やしてやればOK
2. php.iniの場所を確認
$ find / -name php.ini
↓ 実行結果 ここにあるのがわかる
etc/php.ini
var/www/html/vagrant/conf/php.ini
3. php.iniがたくさんある場合
phpinfoで読み込んでいるphp.iniがなにか確認しよう
phpinfoの使い方
みるべき場所: Configuration File (php.ini) Path
で示されるパス
例
phpinfoで見たphp.iniのパスが
/etc
であれば、/etc/php.ini が読み込まれている
4. php.iniを編集する
$ vi etc/php.ini (php.iniのパスは手順2,3で確認したものに変えてください)
/ で検索モードへ
memory と打ち、enter
i でインサートモード(編集できるようなモード)
memory_limit = 128MB を
memory_limit = -1 へ変更
ctrl + C でノーマルモードへ
:wq で保存して終了
5. 再度1の手順を実行して変更が読み込まれているか確認する
$ php -r "echo ini_get('memory_limit').PHP_EOL;"
-1
こうなっていればOK
あとは先程失敗したcomposerでやりたかったことを実行しよう