今回は以下の条件下で動くLaravelアプリケーションのメモリー上限を変更します
Dockerの設定
以前はこちらの画面でメモリの割り当てを設定できたようです が、
現在のバージョンではGUIで設定ができなくなっています
代わりに、「.wslconfig file」を使うように書かれているので
とりあえずリファレンスを確認しましょう
.wslconfig
リファレンスを見ると
CPUやらメモリの使用量をconfigで定義できるようなことが書かれています
で、どう使うのかっていうところですが
C:\Users\<ユーザ名>\.wslconfig
を作成して、中身に以下を記載するだけでした
[wsl2]
memory=1GB
上述の隠しファイルに記載して保存しておきます
PHPの設定
php.iniを編集
まずはphp.iniがどこにあるのか探りましょう
php -i | grep php.ini
でどこのphp.iniがロードされているかわかります
[root@d53b4b685b2c sample]# php -i | grep php.ini Configuration File (php.ini) Path => /etc Loaded Configuration File => /etc/php.ini <==== コレです [root@d53b4b685b2c sample]#
vi /etc/php.ini
で開いて
; memory_limit = 128MB <==== こちらをコメントアウト
memory_limit = -1 <==== こちらを追記
-1 は無制限を意味します
リソースに余裕がない場合はやめておきましょう!
サービスの再起動
ここでものすごくハマりました
Apacheの再起動
systemctl restart httpd.service
を実行しても、phpinfo() で表示されるmemory_limitは128MBのまま
実はもう一つ再起動が必要でした
php-fpmの再起動
systemctl restart php-fpm.service
を実行した上で、phpinfo() を確認すると
memory_limitに -1 が表示されました
やりましたー
php-fpmって、意識的に何かに使っているわけでもないのですが
こちらも再起動が必要となる場合があるので、php.iniを変更しても
反映されないなーと悩んでいる方はこれが原因かもしれません