質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

Q&A

解決済

1回答

5916閲覧

memory_limitの設定を変更してメモリ不足を解消したい

aaay0008

総合スコア2

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

composer

Composerとは、PHP5.3.2以上で使用可能なパッケージ管理ツールです。指定ディレクトリ内だけでパッケージ管理します。

0グッド

0クリップ

投稿2020/10/16 03:40

編集2020/10/16 03:54

前提・実現したいこと

PHP初心者です。
git cloneしたプロジェクトでLaravel cashierをインストールしようとしたところ、メモリ不足でエラーになりました。

Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 4096 bytes) in phar:///usr/local/bin/composer/src/Composer/DependencyResolver/Solver.php on line 223 Check https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors for more info on how to handle out of memory errors.%
調べたこと①

php.iniファイルを直接編集してapacheを再起動する

問題点
7.3.11のファイルが/Applications/MAMP/bin/phpに見当たらず、7.3.21のファイルを編集してみても反映されません。

% php -i | grep memory_limit memory_limit => 128M => 128M
調べたこと②

公式ドキュメントにある以下のコマンドを実行する

php -d memory_limit=-1 composer.phar <...>

問題点
<...>の部分に何を書けばいいのか分かりません。
<...>の部分を削除して実行するとcomposerのヘルプが表示されます。

調べても欲しい情報にたどり着けず困っています(>_<)
①または②の解決方法(それ以外でも)が分かる方教えてください!!

補足情報

PHP 7.3.11
Laravel 6.18.41
composer 1.10.15

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/10/16 03:50

1.6GBもメモリを使うような処理をなんとかするほうが先決かと思います。
aaay0008

2020/10/16 04:16

回答ありがとうございます! メモリ使用量を抑えてcashierをインストールする方法ってありますか? 見当違いな質問していたらすみません。
guest

回答1

0

ベストアンサー

Memory limit errors - getcomposer.org

composer はメモリ喰いすぎるんだよね^^;
php -d memory_limit=-1 composer.phar <...>
あたりが良いかと。

物理メモリが足りない場合、swap 増やさないといけないかもしれません。

投稿2020/10/16 04:27

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/10/16 04:47

> Note: Composer internally increases the memory_limit to 1.5G. これは知らなかった。以前使ってたメモリ4GBのPCがうるさかったわけだ。
aaay0008

2020/10/17 10:15 編集

回答ありがとうございます! composerはメモリめっちゃ使うんですね。。 php -d memory_limit=-1 composer.phar <...> をそのままコピペしてもうまくいきません。  <...>の部分は自分の環境に合わせて書き換える必要があるのでしょうか? 初歩的な質問ばかりですみません。
m.ts10806

2020/10/17 10:48 編集

<...> 部分はcomposerで実行したいコマンドかと思います。 PHPコマンドでcomposer実行時のmemory_limitを指定しているだけです。 ちゃんとパスを通していたら.pharは不要ですね。 なので php -d memory_limit=-1 composer install とか php -d memory_limit=-1 composer update とか 任意のコマンドが入ります。
aaay0008

2020/10/18 07:11

回答ありがとうございます。 php -d memory_limit=-1 /usr/local/bin/composer update を試したところ、updateの処理は行われたようですが php -i | grep memory_limitで確認をしたらmemory_limitは128Mのままでした。 コマンドが間違っているのでしょうか?
m.ts10806

2020/10/18 21:48

半永久的に変更するわけではなくそのコマンドが終了するまで、一時的なものです。 ini_set()とかもそうですね。
aaay0008

2020/10/19 06:05 編集

php -d memory_limit=-1 /usr/local/bin/composer require laravel/cashier で成功しました! メモリ制限を変更するのとcashierをインストールするコマンドは別々に1つずつ実行するものだと思い込んでいたのですが、まとめて実行するのですね。理解力が乏しく時間がかかってしまいました。 ありがとうございます!!
m.ts10806

2020/10/19 06:04

>メモリ制限を変更するのとcashierをインストールするコマンドは別々に1つずつ実行するものだと思い込んでいたのですが、まとめて実行するのですね。 条件と要件次第かと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問