質問: ### 前提・実現したいこと 下記のコマンドを完了させたいのですが、次に記載するエラーが出て完了できない。 ``` $ composer require maatwebsite/excel ``` ### 発生している問題・エラーメッセージ ``` $ composer require maatwebsite/excel mmap() failed: [12] Cannot allocate memory PHP Fatal error: Out of memory (allocated 691974144) (tried to allocate 25853038 bytes) in phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php on line 462 ``` ### 試したこと メモリが足りていないと思い、メモリ上限を上げて、apacheを再起動し、上限が変わっていることを確認。 ``` $ sudo vi php.ini memory_limit => 125M -> 2G へ変更 $ sudo service httpd restart $ php -i | grep memory_limit memory_limit => 2G => 2G ``` 再度同様のコマンドを実行するが、結果が変わらない。。 ``` $ composer require maatwebsite/excel mmap() failed: [12] Cannot allocate memory PHP Fatal error: Out of memory (allocated 691974144) (tried to allocate 25853038 bytes) in phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php on line 462 ``` ### 自分の考え (allocated 691974144) (tried to allocate 25853038 bytes) 上記の文面は、すでにメモリを691974144使っているが、あと25853038足りないと意味と認識していますが、 上限を上げたにもかかわらず同じエラー文言が表示されているということは、 ・変更する箇所を間違えている ・変更しているが、変更内容が反映されていない のどちらかと思っているのですが、どうにもわからずこちらに質問させて頂いた次第です。 もしどなたか助けて頂ければ幸いです。 どうぞよろしくお願い致します。
回答: composerコマンドで使用するphp.iniはapacheで使用しているものと同じものとは限らないので、 `php -i |grep ini` あたりでphp-cliが使用しているphp.iniのパスを確認してそれを修正するか、 `php -c 今回修正したphp.iniのフルパス composer.pharのフルパス require パッケージ名` という感じでiniを指定して実行してみてください。