eyecatch php

PHP

「Allowed memory size of 16777216 bytes exhausted」が出た場合の対策方法。

2016/09/14

データベースのレコードを phpExcel でエクセル出力させようとした際に遭遇したので、その対策方法を忘備録としてポストします。

Allowed memory size of 16777216 bytes exhausted 対策

memory_limit値を変更

エラーが出たのは、足元に置いている何をやっても自己責任なテストサーバ(CentOS機)。
エラーメッセージは以下のような感じ。

Allowed memory size of 16777216 (約16メガ)ってのがポイントっぽいですね。

phpinfo() あたりで調査するとわかるのですが、「memory_limit」値が 16M のデフォルト値で設定されていました。
ここを大きくすれば、当座はしのげるという感じでしょうか。
ということで php.ini を編集します。

ルートに変身して、vi を起動。

viが起動したら「/」キーを押して検索モードへ。
「memory_limit」をキーワードにしてあっさりと発見。

ってところを、

という風にしてみます。

ちなみに

とすると、上限なくメモリを割り当てることも可能です。

最後に apache を再起動すれば完了。

以上です。

-PHP
-, ,