| 記事No | : 16740 |
| 投稿日 | : 2022/02/17(Thu) 18:42:24 |
| タイトル | : Lime Counterについて |
| ID情報 | : aicom |
| 投稿者 | : aicom |
はじめまして。この度はお世話になります。
「Lime Counter ver5.01」でダウンロードカウンターを利用したく、テスト構築をしています。
さくらインターネットサーバーです。
仕様などについてお伺いしたく、投稿させていただきました。
1.カウンタ値を0にリセットできない
ID登録画面から個々のIDを「修正」で開き、
「カウンタ値」を0にして送信しても反映されません。
ただ、1以上の数値であれば増減ができました。
設定の問題か、仕様なのか切り分けをしたいです。
▼カウンタ値変更例
× 1 → 0
〇 2 → 1
〇 1 → 2
2.IDの登録上限
今回設置を考えているサイトでは数値を計測したいファイルが
総数で約1500ほどになる見込みです。
��1500のID登録+計測にCGIは耐えられるでしょうか?
※サーバーの容量の問題は除いて。
��IDの登録に上限はありますか?
��init.cgiの以下数値は、どういった場合に変更が必要な設定でしょうか?
# 管理画面の最大受理サイズ(バイト)
$cf{maxdata} = 10240;
初歩的な部分もあり恐縮ですが、ご教示いただけますと幸いです。
どうぞよろしくお願いいたします。
| 記事No | : 16742 |
| 投稿日 | : 2022/02/17(Thu) 22:19:52 |
| タイトル | : Re: Lime Counterについて |
| ID情報 | : hamel |
| 投稿者 | : HUMMEL |
> 1.カウンタ値を0にリセットできない
> ID登録画面から個々のIDを「修正」で開き、
> 「カウンタ値」を0にして送信しても反映されません。
> ただ、1以上の数値であれば増減ができました。
取り敢えず、「1.」だけ。
admin.cgi内160行目あたり
# カウンタ更新
if ($in{cnt} != $in{count}) {
open(DAT,"+< $cf{logdir}/$in{id}.dat");
eval "flock(DAT, 2);";
my $count = <DAT>;
my ($count,$ip) = split(/:/,$count);
seek(DAT, 0, 0);
print DAT "$in{count}:$ip";
truncate(DAT, tell(DAT));
close(DAT);
}
↑を↓のように追加修正
# カウンタ更新
if ($in{cnt} != $in{count}) {
open(DAT,"+< $cf{logdir}/$in{id}.dat");
eval "flock(DAT, 2);";
my $count = <DAT>;
my ($count,$ip) = split(/:/,$count);
seek(DAT, 0, 0);
print DAT "$in{count}:$ip";
truncate(DAT, tell(DAT));
close(DAT);
} elsif ($in{cnt} == $in{count}) {
open(DAT,"+< $cf{logdir}/$in{id}.dat");
eval "flock(DAT, 2);";
my $count = <DAT>;
my ($count,$ip) = split(/:/,$count);
seek(DAT, 0, 0);
print DAT "0:$ip";
truncate(DAT, tell(DAT));
close(DAT);
}
以上で管理モードでの数値の修正変更は正常に作動するはずです。
| 記事No | : 16749 |
| 投稿日 | : 2022/02/18(Fri) 13:12:46 |
| タイトル | : Re^2: Lime Counterについて |
| ID情報 | : aicom |
| 投稿者 | : aicom |
HUMMELさま
さっそくのご回答ありがとうございます。
いただいたコードに書き換えたところ、正常に「0」に変更することができるようになりました。
とても助かりました。ありがとうございます。
---------------------------------------------
2.IDの上限については
CGIを複数に分けるなどして、検証・設置をしてみようと思います。
ありがとうございました。