2009年12月16日

[PHP-users 34879]ファイルの逆読みの方法に関して

はじめまして、岸本と申します。宜しくお願いします。
現在下記の現象で困っています、助言いたたければ幸いです。


開発を担当しているシステムでアプリケーションログを出力しています。
そのログファイルを表示するWEBアプリを作成しているのですが、ログファイルの
容量が大き過ぎてphpがメモリオーバで終了してしまいます。

エラー内容:
Allowed memory size of 134217728 bytes exhausted

そこで、最新から遡って1000行まで表示する様に変更したいのですが、どうしても
ファイル全体を一旦読み込まないとならずにエラーを回避できません。
できればファイルを逆読みして1000行目で読み込みを中断して表示させたいのですが
苦心しています。

ちなみに下記が現行のコードです。(一行目のfile関数でアウトです)

$_log = file("/hogehoge/Apllog.log");
$log = array_splice($_log, 1, count($_log)-1000);

ログファイルはlogrotateで肥大化しない様に工夫してあります。

極力memory_limitの値は変更せずに対応したいのですが、、
ヒントでも構いませんので宜しくお願いします。

以上
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2009年12月16日 01:04
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/91443
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。