- 掲示板などでログの更新時や、ミニカウンタの表示時で、Can't create tempfile
- スクリプトを置く -- 正確にはロックファイルを置く -- 「ディレクトリ」のパーミッションが777に設定されていないためです。
- ディレクトリのパーミッションを 777 に設定してみてください。
- 掲示板の過去ログで、Can't write ./2.html
- 過去ログ機能を「あり」にしている場合、最初の過去ログファイルである 1.html が一定の大きさになると、自動的に次ページを生成します。
- このときに、過去ログを置く「ディレクトリ」のパーミッションが777に設定されていないと、次ファイルである 2.html の生成ができずにエラーとなります。
- 対処方法としては、過去ログを置くディレクトリのパーミッションを777に設定するか、もしくは当初書庫ファイルに同梱されていた 1.html をそのままコピーして 2.html, 3.html, 4.html ... といくつか作成し、過去ログのあるディレクトリへ「テキストモード」でFTP転送し、*.html のパーミッションを666に設定してください。
- GATE-EXで、Can't open pass.txt
- ログの更新(掲示板で記事を投稿した場合等)時に Rename Error
- これは一時ファイルから正規ログへのリネーム(ファイル名の変更)に失敗した場合のエラーです。
- サーバが WindowsNT (IIS) サーバの場合に発生することがあるようです。
- スクリプト内に、rename($tmpfile,$logfile) || &error("Rename Error","lock"); というような行があるので(複数の場合もあります)その部分を以下のとおり修正してください。
- 上記の行の前の行に、unlink($logfile); という1行を挿入する。
■変更前
rename($tmpfile,$logfile) || &error("Rename Error");
■変更後
unlink($logfile); # 追加
rename($tmpfile,$logfile) || &error("Rename Error");
- それでもうまくいかない場合は、「ログファイル」と「ロックファイルディレクトリ」のパスを「フルパス」で指定してみてください。
■変更前
$logfile = "./bbs.log";
■変更後
$logfile = "e:/home/foo/html/cgi-bin/bbs.log";
---
■変更前
$lockdir = ".";
■変更後
$lockdir = "e:/home/foo/html/cgi-bin";
- それでもうまくいかない場合はプロバイダへ相談するか、以下のページを参考にご自分でチャレンジしてみてください。
http://www.att.or.jp/perl/win/iis.html#Q12
- 掲示板などで記事を投稿すると LOCK is BUSY
- これはロックファイル処理のエラーで、以下の3つの原因が考えられます。
(1) lockディレクトリがない。
→ 所定の位置に lockディレクトリを作成してください。
(2) lockディレクトリのパーミッションが777になっていない。
→ lockディレクトリのパーミッションを777に設定します。
(3) 設定に係るlockディレクトリのパスを間違っている。
→ パス指定をURL指定するケースがたまにあるようです。通常該当スクリプトの1つ下にlockディレクトリを作成しますので、初期値のままでOKです。
× : $lockfile = 'http://xxx.xxx/yybbs/lock/yybbs.lock';
(URLパスではない!)
○ : $lockfile = './lock/yybbs.lock';
(大抵は初期値のとおりでOK)
○ : $lockfile = '/home/public_html/xxx/yybbs/lock/yybbs.lock';
(サーバパスで指定するケース)