[PHP-users 8936] Re: FATAL: emalloc(): Unable to allocate となります
Masaki Fujimoto
php-users@php.gr.jp
Thu, 25 Jul 2002 15:41:49 +0900
ふじもとです。
> while(list(,$name)=each($file_name_arr)){
> $tmp = @file($name);
> for($c = 0; $c < count($tmp); $c++) $all[] = $tmp[$c];
> }
>
> count($tmp)がだいたい1000を超えるとエラーが出ます。
ちょっと時間が空いたので試してみましたが、再現できませんでした... なんら
かのバグという可能性も捨てきれなくはないので、よろしければ以下の点を確認
していただけますでしょうか?
- ファイルの個数、サイズが分からないのでなんとも言えませんが、まず実際に
メモリが足りなくなっていないかどうかを確認してみてください:) (emalloc():
Unable to allocate...は文字通りメモリの確保に失敗している、という意味
です)。
また当該ユーザにlimitがかかっている場合はunlimitedにしてみてください
(おそらくデフォルトでunlimitedかとは思いますが)。
- 他のPHPのバージョンで試してみて頂けますでしょうか?また、スナップショッ
ト(http://snaps.php.net/php4-STABLE-latest.tar.gz)ではいかがでしょうか。
- あまり関係有りませんが、上記のような処理ではarray_merge()を使うのが普
通かな、と思います(わざとでしたらすみません)。
--
藤本 真樹
アストラザスタジオ
fujimoto@studio.co.jp
fujimoto@php.net