[Cakephp]CakeShellでメモリ使用量オーバーで起動できない場合。

cakeは比較的メモリ要求量が多いフレームワークです。
デフォルトでも動作しますが、多少増やしておいた方が良いですし、プログラム内でも使用量に留意したほうが賢明です。

しかし、Shellでの起動の場合、設定しても解決しない問題があったのでその時の解決法のメモ書きです。

通常、PHPのメモリ使用上限設定はphp.iniファイルに
memory_limit = 256MB
等として設定しますが、シェルから動かす場合はこの値は使われません。

ということで、Shellのスクリプトに以下のように書けば、通常設定できるのですが…
ini_set(‘memory_limit’, ‘512M’);
そもそも、cakeのShellコアすら起動できない場合があるようです。

その場合は、app/Config/bootstra.php に書くといいようです。

とりあえずこれで動くようにはなります。
ただ、バッチだけしているプロジェクトならいいですが、Webと共通の場合はメモリの使用量について注意する必要がありそうです。

タイトルとURLをコピーしました