いつもお世話になります。
この間のリロードなどを頻繁にするとページが読み込めないトラブルについてですが、
KENTさんのとこのサポート掲示板に書き込んで質問してみた所、
「ブラウザの性能にもよるのではないか」と返事を頂きました。
そこで、netscapeを試しに使ってみた所、
IEではいつも表示がうまくいかなかったアクセス解析のCGIなどがちゃんと表示されました。
まず、IEで開いて例えばグラフなどがうまく表示できない場合に
すぐネスケで開いてみるとちゃんと表示されていました。
多分、チャットのエラーもCGIのエラーとゆうよりも、ブラウザかもしれません。
>中田さん
ありがとうございます。
わかりました。しばらく「単一スレッド」にして様子を見てみます。
>Syberさん
そうなんですか。知りませんでした。
フリーマーケットのCGIを使ってみようとしたら、パーミッションの設定がいるみたいで。
そういうのはUNIX用なんでしょうね。きっと。
今まであまり注意せずに選んでしまっていましたが、
これからはよく注意してなるべくWINサーバで動くものを選んで使いたいと思います。
りえさん、
「動作が不安定になる」ということはありません。
また、「単一スレッド」にしても、ひとつひとつのCGIが実際に動作している時間は短いので、他のCGIが動作しなくなるわけではありません。
そういう意味では「単一スレッド」にチェックをいれても心配ありません。
りえさんへ
確かに不安定になるよりも、動作不可の場合が多いかな。
UNIX用(Linux)といっても、ActivePerlなどでは
ある程度の関数などは動作しますので。
最近の配布用のプログラムは、製作している人にもよりますが
Winサーバでも動作するように作られているようなので
大抵のCGIスクリプトは動作すると思います。
しかし、海外の配布のCGIやパッケージ関係は、Linux系が多い
かもしれません。もちろん、Winでも動作するように改良されて
いるものもあります。
自作ではないチャットなら、Winでもちゃんと動作するCGIスクリプト
を探してみてはいかがでしょうか?
>あと、前に言われたんですけど、大体のCGIはUNIX用に作られてるから、
>winサーバ上では動作が不安定になる場合もあるって聞きましたけども。
>やっぱりそれもあるんでしょうか。。。
あと、前に言われたんですけど、大体のCGIはUNIX用に作られてるから、winサーバ上では動作が不安定になる場合もあるって聞きましたけども。
やっぱりそれもあるんでしょうか。。。
ロック機能や、単一スレッドについてお聞きしたのは、
チャットを自分のサーバに置いて友達などとしている時に、
ページが見つかりません。とかのメッセージがでたりするので悩んでいるんです。
一人で文字を早く打ち込んでも大丈夫なのです。
ですけど、相手がいるととたんに調子が悪くなります。
推測ですけど、相手と入力などが重なったときや更新が頻繁にされる時に
ページを読み込めないで「ページが見つかりません」が出るみたいなんです。
それでロックファイルや単一スレッドにすることでこのエラーを防げないかと思ってます。
でも、単一スレッドにするとチャットなどをしている間、他のCGIは動かなくなりますか?
カウンタとか掲示板もおいてあるんですけども。
使っているCGIはすべてKENT WEBさんのとこのものです。
チャットはそこの「YYCHAT」というのを使わせて頂いてます。
よろしくお願いします。
りえさん、
symlink は WindowsNT/2000 でも使えませんから、open関数を使うことになります。
ただ、open関数を使うやり方はロックが不完全なものもあるので、その場合は 0=no にしてスクリプト中ではロックをせず「単一スレッド」にチェックを入れるというやりかたになります。
>中田さん
ありがとうございます。よくわかりました。私が使用しているのはwin2000なので
チェックは入れなくてもいいですね。
あと、CGIのスクリプトの中にあるロックファイルなんですけど。
# ロックファイル機能 (0=no 1=symlink関数 2=open関数)
という行がありまして、サーバの環境に合わせて、関数を選ぶことになってるんですが、
ANHTTPDでこのCGIを動かす場合は、このsymlink関数とopen関数は
どちらを選べばいいんでしょう。。。
りえさん、
同じだと思います。次にたとえば Perl 5.6.1 をインストールすると、perl.exe と perl5.6.1.exe が同じになると思います。
「単一スレッド」について。
2つ以上のCGIが同時に動作すると、カウンタやBBSなどでは、同じファイルに書込む可能性があり、そうなるとそのファイルが壊れます。
それを避けるために flock などを使って同一ファイルへの書込みが同時には起きないようにするのですが、Windows95/98 では flock が使えません。
そのため、CGIが同時に2つ以上動作しないようにするオプションが「単一スレッド」です。
Windows95/98 でカウンタ/BBS/チャットなどファイル書込みがあるCGIを動かす場合には「単一スレッド」にチェックを入れておいた方が安全です。
くだらない質問ですみません。。。
perlのプログラムで、普通のperl.exeとperl5.6.0.exeってありますけど
これはどう違うんでしょうか?どっちを使っても変わりないみたいなんですけど。
それと、「単一スレッド」という項目はどういうときにチェックを入れるのですか?