php.iniでmemory_limitが効かない

ZABBIXのサーバを1.6.4から1.8へバージョンアップしたのですが、その際に必要条件のチェックが動いて、phpのmemory_limitが引っかかった。
どうも128MB必要らしいのですが、64MBだよって表示されている。それとpost_max_sizeも16M必要らしい。

なのでphp.iniを編集。

memory_limit = 128M
post_max_size = 16777216

これでApacheを再起動。post_max_sizeのチェックは通ったが、memory_limitの値が64MBのまま。編集しているphp.iniが違うわけでもない。変だなぁ。
zabbixのソースもチェックしたがよくわからない。あんまり時間を無駄にするのもしゃくなので、zabbixのソース中に少々手を入れることにした。

手を入れたのはinclude/setup.inc.phpで、memory_limitの値を取り込んでチェックしているところ。189行めあたり。

                        ini_set('memory_limit','128M') ; ← ここ
                        $memory_limit = str2mem(ini_get('memory_limit'));
                        $table->addRow($this->get_test_result(
                                $final_result,
                                'PHP Memory limit:',
                                function_exists('memory_get_usage') ? mem2str($memory_limit) : 'unlimited',
                                $memory_limit >= 128*1024*1024 || !function_exists('memory_get_usage'),
                                '128M is a minimal PHP memory limitation'));

まぁアドホックではある。今のところ支障はでてない。