ini_set(“memory_limit”)が効かない?

とりあえず、PHP5.1.6および5.3.0でのお話

先日まで動いていた集計画面が突然動かなくなった。
エラーを表示してみると、
PHP Fatal error: Allowed memory size of 16777216 bytes exhausted うんぬんかんぬん

メモリの使用可能量なんて128M設定してあるはずなのにと、
ini_set(“memory_limit”, “128M”)直後にini_getで値を表示してみると16Mとか表示される。

なんでそうなったか調査してみると、原因は最近入れたSuhosinの設定だった。

suhosin.iniの設定に、
suhosin.memory_limit = 0
と書かれていると、PHPプログラム内の記述
ini_set(“memory_limit”,”xxx”)が無効化されて、php.iniに記述されたmemory_limitの値のままになる模様。

suhosin.memory_limitは最大値らしいので大きめの値に設定しなおして、ini_setしてみると使用可能量を変更できた。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です