記事No | : 10271 |
投稿日 | : 2012/03/20(Tue) 22:06:46 |
タイトル | : Light Board v8.3 過去ログ検索時エラー |
ID情報 | : 9801 |
投稿者 | : fujiya |
URL | : http://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 |
URL | : http://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");
>
> のようにしたほうがいいような気がするんですが・・・
> 上のやつだと、過去ログから検索したときも常に現行ログを
> 検索するようになってしまうんじゃないかと思うのですが・・・
> 違ってたらすいません。
これはご指摘を感謝いたします。
まったくそのとおりです。
すぐに訂正しておきます。
ありがとうございました。