KENT-WEB サポートコーナー 過去ログ [ 0288 ]


記事No: 10271
投稿日: 2012/03/20(Tue) 22:06:46
タイトルLight Board v8.3 過去ログ検索時エラー
ID情報: 9801
投稿者: fujiya
URLhttp://y30.net/anti_cult/cgi/cgitest/light.cgi

Light Board v8.3をダウンロードし、これまで使っていたv7.0からログを移行して利用させていただいております。
下記の一点を除いて全て順調に運用できているのですが、下記の過去ログ検索だけがうまく動きません。

過去ログ自体は正常に表示されており、閲覧自体は問題なくできるのですが、過去ログで「検索」を行うと、Server errorが発生し、
Error message:
Premature end of script headers: light.cgi
と表示されてしまいます。

旧バージョンから移行した過去ログに問題があるのかと思い、上記では、テスト用に設置したv8.3に過去ログを作成させてみましたが、やはり同じエラーが出てしまいます。

なお、テスト用ではなく、本運用しているv8.3の掲示板は下記ですが、これも同じく過去ログ検索でエラーが出ています。
なお、過去ログではなく通常ログでの検索では何らエラーは出ず、正常に検索が行えます。

http://y30.net/anti_cult/cgi/cgi09/light.cgi


記事No: 10272
投稿日: 2012/03/22(Thu) 00:11:51
タイトルRe: Light Board v8.3 過去ログ検索時エラ
ID情報: chat
投稿者: ひらり

こんにちは

ちょっと試してみたところ、url_encがなくてエラーになるようなので、
light.cgiファイルの最後でもいいので、

#-----------------------------------------------------------
# URLエンコード
#-----------------------------------------------------------
sub url_enc {
local($_) = @_;

s/(\W)/'%' . unpack('H2', $1)/eg;
s/\s/+/g;
$_;
}

というのをコピペしてみてください。


KENTさんへ
searchサブルーチンの中の216行目付近で

open(IN,"$cf{logfile}") or &error("open err: $cf{logfile}");

というようになっているのですが、

open(IN,"$file") or &error("open err: $file");

のようにしたほうがいいような気がするんですが・・・
上のやつだと、過去ログから検索したときも常に現行ログを
検索するようになってしまうんじゃないかと思うのですが・・・
違ってたらすいません。


> Light Board v8.3をダウンロードし、これまで使っていたv7.0からログを移行して利用させていただいております。
> 下記の一点を除いて全て順調に運用できているのですが、下記の過去ログ検索だけがうまく動きません。
>
> 過去ログ自体は正常に表示されており、閲覧自体は問題なくできるのですが、過去ログで「検索」を行うと、Server errorが発生し、
> Error message:
> Premature end of script headers: light.cgi
> と表示されてしまいます。
>
> 旧バージョンから移行した過去ログに問題があるのかと思い、上記では、テスト用に設置したv8.3に過去ログを作成させてみましたが、やはり同じエラーが出てしまいます。
>
> なお、テスト用ではなく、本運用しているv8.3の掲示板は下記ですが、これも同じく過去ログ検索でエラーが出ています。
> なお、過去ログではなく通常ログでの検索では何らエラーは出ず、正常に検索が行えます。
>
> http://y30.net/anti_cult/cgi/cgi09/light.cgi


記事No: 10273
投稿日: 2012/03/22(Thu) 02:09:23
タイトルRe^2: Light Board v8.3 過去ログ検索時エラ
ID情報: 9801
投稿者: fujiya
URLhttp://y30.net/anti_cult/cgi/cgitest/light.cgi

ひらりさん

ご指摘の通り、light.cgiの最後に

#-----------------------------------------------------------
# URLエンコード
#-----------------------------------------------------------
sub url_enc {
local($_) = @_;

s/(\W)/'%' . unpack('H2', $1)/eg;
s/\s/+/g;
$_;
}

を入れると、エラーは出なくなりました。
ただ、過去ログを検索しているのに、現行ログを検索する結果となるので、

> searchサブルーチンの中の216行目付近で
>
> open(IN,"$cf{logfile}") or &error("open err: $cf{logfile}");
>
> というようになっているのですが、
>
> open(IN,"$file") or &error("open err: $file");
>
> のようにしたほうがいいような気がするんですが・・・
> 上のやつだと、過去ログから検索したときも常に現行ログを
> 検索するようになってしまうんじゃないかと思うのですが・・・

というご指摘通り、変更すると、ちゃんと過去ログ内を検索するようになりました。

早速にお教えいただき、本当にありがとうございます。


記事No: 10287
投稿日: 2012/03/25(Sun) 17:42:00
タイトル了解>ひらりさん
ID情報: kent
投稿者: KENT

> こんにちは
>
> ちょっと試してみたところ、url_encがなくてエラーになるようなので、
> light.cgiファイルの最後でもいいので、
>
> #-----------------------------------------------------------
> # URLエンコード
> #-----------------------------------------------------------
> sub url_enc {
> local($_) = @_;
>
> s/(\W)/'%' . unpack('H2', $1)/eg;
> s/\s/+/g;
> $_;
> }
>
> というのをコピペしてみてください。
>
>
> KENTさんへ
> searchサブルーチンの中の216行目付近で
>
> open(IN,"$cf{logfile}") or &error("open err: $cf{logfile}");
>
> というようになっているのですが、
>
> open(IN,"$file") or &error("open err: $file");
>
> のようにしたほうがいいような気がするんですが・・・
> 上のやつだと、過去ログから検索したときも常に現行ログを
> 検索するようになってしまうんじゃないかと思うのですが・・・
> 違ってたらすいません。

これはご指摘を感謝いたします。
まったくそのとおりです。
すぐに訂正しておきます。
ありがとうございました。


[検索ページ] [掲示板]