1. ホーム
  2. php

[解決済み】Composerのrequireがメモリ不足になる。PHP Fatal error: 許容メモリサイズ1610612736バイトを使い果たしました。

2022-05-02 23:10:30

質問内容

以下のコマンドを実行して、プロジェクトにHWIOAuthBundleを追加しようとしています。

composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

HWIOAuthBundleのgithubです。 https://github.com/hwi/HWIOAuthBundle

composer requireを実行しようとすると、out of memoryエラーが発生します。

hwi/oauth-bundle バージョン ^0.6.0@dev を使用中 バージョン ^1.2@dev を使用中 php-http/guzzle6-adapter バージョン ^1.10@dev を使って php-http/httplug-bundle ./composer.json has been updated Loading パッケージ情報を含む composer リポジトリ 依存関係を更新する (require-devを含む)

PHP Fatal error: 許容メモリサイズ1610612736バイトを使い果たしました。 (67108864 バイトを割り当てようとした)。 phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

致命的なエラーです。許容メモリサイズである1610612736バイトを使い果たしました。 で67108864バイトを割り当てた)。 phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

php.iniファイルでmemory_limitを2Gに設定してみたのですが、うまくいきませんでした。 php.iniは以下のように実行することで見つかりました。 php -i | grep php.ini

どのように解決するのですか?

現在のmemory_limitの値を取得するために、実行します。

php -r "echo ini_get('memory_limit').PHP_EOL;"

で制限を増やしてみてください。 php.ini ファイル /etc/php5/cli/php.ini Debianのようなシステムの場合)。

; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1

また、コマンドライン引数で上限を増やすこともできます。

php -d memory_limit=-1 composer.phar require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

php.iniファイルの場所を取得するには、次のようにします。

php --ini

もう一つの手っ取り早い解決策。

php composer.phar COMPOSER_MEMORY_LIMIT=-1 require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

あるいは、ただ。

COMPOSER_MEMORY_LIMIT=-1 composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle