※超絶初心者の為、誤りがございましたらコメントを頂けると大変助かります。
Laravelの新しいプロジェクトを作成しようとしたら、
proc_open(): fork failed - Cannot allocate memory
というエラーが出た。
「Cannot allocate memory」は日本語で「メモリを割り当てることができない」であり、
それを頭に入れつつググると、「PHPに割り当てられているメモリの値が足りない」ということがわかった。
そして、php.iniを編集して、メモリを増やさなければならないこともわかった。
参照記載の3つのサイトを参考にしながら、メモリを128M→512Mへ増やしたので、備忘録として残しておく。
※2020年2月2日追記
下記の手順A通り処理し、メモリを広げたが、結果、プロジェクト新規作成時のエラーを消すことができなかった。
Composerのトラブルシューティングに他の手段の記載があったので、
その手順Bを追記しておく。
こちらの手順でエラーは消えた。
##手順B
ターミナルに下記1~3のコマンドを入力。
sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024
sudo /sbin/mkswap /var/swap.1
-
sudo /sbin/swapon /var/swap.1
すると、Laravelで新規プロジェクト作成時のエラーは消えた!
##参照B
トラブルシューティング-Composer
※2020年2月1日作成
##手順A(結果的にこの手順では解決できなかったが、残しておく)
- ターミナルに
sudo -s vi /etc/php.ini
と入力し、Enter押下 -
memory_limit = 128M
を探し出す。※128MはPHPのメモリ初期設定らしい - 128を削除(消したい数字「1」,「2」,「8」をDeleteキーで削除)
- Insertキーを押した後,「5」,「1」,「2」を入力
- このままだと、ターミナル左下が
-- INSERT --
と表示されっぱなしで保存できないため、Escキーを何回か押下して、表示が無くなるようにする。 -
:wq
と入力し、Enterを押下すると、保存されて元のターミナルに戻る -
php -r 'phpinfo();' | grep memory_limit
でメモリが増えているか確認
※ちなみに、php.iniをターミナル上で
・何も編集していない状態で閉じるには、:q
コマンド
・編集したが、保存せずに閉じるには、:q!
コマンド
で対応可能。
##参照A
Cloud9でlaravel開発環境の構築
Composerでメモリエラーが発生したときの対処方法【詳細解説】
すぐわかる!viの保存と終了の方法【Linux基礎知識】