http://www.kent-web.com/utility/index.html
:: KENT WEB > ユーティリティ ::
サーバーによってファイルロックに使用できる関数が違う事があります。
こちらの「Symlink Checker」で、その関数が使用できるかどうか、確認してみてはいかがでしょうか。
上が配布元、下がファイルロックの種類について載っています。
サーバーでAという方式が使えない場合、Aしか使えない掲示板は改造しなければいけないので、分らなければその掲示板の配布元に相談するといいと思います。
http://www1.plala.or.jp/bagi/labo/lock.html
CGI Saloon - ロックについて
CGI用のフォルダが指定されているということは
CGI以外のファイル(例えばhtmlやgifやjpeg)はそのフォルダに置けないのでは?
なのでCGIを確認して別々のフォルダに設置する必要があるのでは?
ご指摘の通りです。画像などはcgi-binのディレクトリ以下に置いても表示されないので、html以下のデイレクトリに置いて表示させています。ただ画像は、http://OXOXOXOOXOXとパスを通すだけなので簡単だったのですが、ログファイルなどは同じ方法では、サーバーエラーになったり、違うcgiだとロック機能を外せば作動したり、と正常に作動ができません。そのため、ログファイルなどの設定を修正する必要があると睨んでいるのです。その作業をする際の一般的考え方か、参考になる事例などでもどなたかご存知であれば、ご教示賜りたいのですが・・・?!
基本的にCGIの置けるディレクトリのサーバ設定というのは
CGIの処理系とは全然別の所で行われますから、
cgi-binにしか置けないからといって
ファイルのロックの基本が変わることはありません。
一番考えられるのは、1のご回答にあるような使用できる関数の問題。
これが大きいと思います。
あとは、ディレクトリ構成の変更による
ロックファイルのパス指定。
これも確認してください。
それからUNIX系、Linux系サーバでは
ディレクトリやファイルのパーミッションも重要です。
サーバによっては一定以上の権限を許可していない場合もありますから、
どうしても解決がつかず煮詰まってしまったら、
サーバ推奨のパーミッションがどうなっているのかも確認してみてください。
場合によるとCGIの設置例のままではうまく動かない場合があります。
どうもご回答ありがとうございます。多分ご指摘の部分の、「ディレクトリ構成の変更によるロックファイルのパス指定」が深くかかわっていると思っています。そこを詳しく解説したものが何かあれば、ありがたいのですが・・・。事例でも結構です・・・。
サーバ移転って結構トラブルの種ですね。プログラムにまったく手を着けずにただコピーしたつもりでも、うまく動かないことも多かったりして。
簡単ですが、以下の点はいかがでしょう
・CGIの中のディレクトリ指定の部分をチェックする
たとえばCGIの中には、
/home/username/html/log.log
というように、ディレクトリを長く書く「絶対パス」という記述があります。サーバが変わるとこの部分の名前も変わりますので、要点検です。
・CGIプログラムファイルのパーミッションをチェックする
・ログファイルのパーミッションをチェックする
・ディレクトリのパーミッションをチェックする
特にパーミッションですが、ディレクトリのパーミッションは忘れがちです。もしCGIが最初の起動時に、新しいファイルを作成するようなプログラムであれば、ディレクトリ自身もchmod 777しておかないといけません。
フォルダやファイルのパーミッションはサーバーごとに
違うので、それにより、うまくロックがかからなくなることもあります。
具体的なサーバー名を挙げることができれば、
もっと情報が集まるかもしれません。
サーバーによってパーミッション777のフォルダにログファイルを入れる、CGIを入れるなどをするとエラーになることがあるようですので、サーバーのCGI設定を見てみると良いと思います。
たいへん参考になりました。ただ、他に同様な意味で参考になるものはもっとありませんか?
1つめは、ファイルロック関連のいろいろなサーバーの記事(カウンタ設置)をきじゅつしてらっしゃいます。
また、2番目はサーバーで許可されているロック形式をチェックできるスクリプト配布モト。LockCheck->ダウンロードで、開いたページの真ん中らへんに LockCheckがあります。
出てきたエラーメッセージ等があれば、それらを載せていただければもう少し突っ込んだものが出せるかと思います。
どうもご回答ありがとうございました。いろいろ皆さま方に教えていただき感謝いたします。これにて質問は終了させていただきます。
どうもありがとうござます。さっそくこれから試してみます。でももっと情報がほしいので他の方のアドバイスをお待ちしています。