▼スレッド
│
└◇187:AddFlagの「ロック失敗」エラー [moon] 11/30 13:03
├◇188:追伸 [moon] 11/30 13:55
└◇189:Re:AddFlagの「ロック失敗」エラー [ふじこ] 11/30 21:29
└◇190:Re[2]:AddFlagの「ロック失敗」エラー [moon] 11/30 22:22
└◇191:Re[3]:AddFlagの「ロック失敗」エラー [ふじこ] 12/01 04:20
└◇192:Re[4]:AddFlagの「ロック失敗」エラー [moon] 12/01 11:47<-last
> 質問ですスレッド一覧
> 実行すると「ロック失敗」と出てしまい、できないのですが
> 何が原因なのでしょうか?
> すいません、わからなくて(><)
sub lockの、
&error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0755));
を、
&error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***)); # ***はsos2.cgiでロックファイルを作成するときと同じパーミッション
もしくは、
&error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0666));
に変更してください。
たぶん、これで大丈夫だと思います。
使用する場合は、万が一のため全てのデータのバックアップを取っておいたほうが良いですよ。スレッド一覧
> &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***)); # ***はsos2.cgiでロックファイルを作成するときと同じパーミッションスレッド一覧
sos2では606だったので、同じくしたのですができませんでした。
666でもやってみたのですがやはりダメでした。
他に何かいけないところがあるのでしょうか?(><)
申し訳ありません
> > &error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***)); # ***はsos2.cgiでロックファイルを作成するときと同じパーミッションスレッド一覧
>
> sos2では606だったので、同じくしたのですができませんでした。
> 666でもやってみたのですがやはりダメでした。
> 他に何かいけないところがあるのでしょうか?(><)
> 申し訳ありません
確認事項として、
&error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***));
を、
&error("ロック失敗") if(-d $lockfile);
&error("test error");
に変更して実行してください。(コピペだと全角空白が入るので半角に直してください。)
で、結果が'ロック失敗'ならsos2のロックファイルが既に存在しているため(誰かがプレイ中)のエラー、'test error'ならロックファイルが作成できないため(作成先ディレクトリのパーミッションが変?)のエラーということです。
前者なら誰もプレイしていないときに実行すれば良く、後者の場合はaddflag.cgiをsos2.cgiと同じディレクトリにおいてみれば良いと思います。
それでもエラーが出る場合の最終手段として、&error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***));をコメントアウトして誰もプレイしていないときに実行してみてください。(かなり危ないです。)
もちろん実行前にユーザデータを完全バックアップ。
test errorスレッド一覧
が出ました
作成先ディレクトリのパーミッションが変?
とお答え下さいましたが、どう変なのでしょうか(><)
addflag.cgiをsos2.cgiも同じディレクトリに置いています
> test errorスレッド一覧
> が出ました
> 作成先ディレクトリのパーミッションが変?
> とお答え下さいましたが、どう変なのでしょうか(><)
> addflag.cgiをsos2.cgiも同じディレクトリに置いています
う〜ん、sos2.cgiと同じディレクトリならパーミッションは適切なはずですね・・・。
それならば、
$lockfileをsos2.cgiの$lockfileと同じにする。(デフォルトでは同じはずですが)
そして、
&error("ロック失敗") if(-d $lockfile || !mkdir($lockfile,0***));
を、
&error("ロック失敗") if(!mkdir($lockfile,0***)); # !mkdirはsos2.cgiのsub lockのwhile(〜)の'〜'と同じにする
に変更する。
お手数をかけてすみません。
0755の問題以外は不明なもので・・・。