[PHP-users 8927] FATAL: emalloc(): Unable to allocate となります

門 隆志 php-users@php.gr.jp
Thu, 25 Jul 2002 13:27:40 +0900


はじめて投稿させていただきます。かどと申します。
よろしくお願いします。

PHPにてテキストファイルを順番に読み集計して表示したいのですが、少し多めの
ファイルを読み込むと「ページを表示できません」となり Apacheのerroe_logに

FATAL:  emalloc():  Unable to allocate 35 bytes
FATAL:  erealloc():  Unable to allocate 160 bytes

が残ります。
テスト環境のLinux7.2 Apache-1.3.23 php-4.1.2 では問題なく動くのですが、実際
に運用していくFreeBSD 4.4 Apache-1.3.22 PHP-4.2.2で動いてくれないのです。

いろいろと検索した結果PHPのソースの中に、メモリエラーが起こったら「FATAL:
emalloc():  Unable to allocate 〜」というのがあるとの事なのでApacheの問題で
はなさそうな気もするのですが、私のレベルではどん詰まりになりました。解決策を
ご存知の方はいらっしゃいませでしょうか。

while(list(,$name)=each($file_name_arr)){
    $tmp = @file($name);
    for($c = 0; $c < count($tmp); $c++) $all[] = $tmp[$c];
}

count($tmp)がだいたい1000を超えるとエラーが出ます。

かど