*file.phpエラー (flockの取り扱い) [#v7f4e3da]

-ページ: BugTrack
-投稿者: [[XAN]]
-優先順位: 普通
-状態: 提案
-カテゴリー: 本体バグ
-投稿日: 2002-11-11 (月) 22:57:01
-バージョン: 1.3.2

**メッセージ [#n1319bab]
ページを新規作成or編集を行い、保存しようとすると、file.phpの38行目がエラーになってしまいます。
----

-保存先ディレクトリのパーミッションエラーでは? -- [[reimy]] SIZE(10){2002-11-11 (月) 23:47:20}
-初期設置ファイルのユーザーがWWWでないから、というのもありそう(ユーザ変更するかもしくは666に変更するか) -- [[たらこせる]] SIZE(10){2002-11-12 (火) 00:20:33}
-Windows9x系とかNFS使った環境でもエラーになると思います -- [[長月あきと]] SIZE(10){2003-01-31 (金) 17:42:41}
-flock()はNFSでは動かない、とマニュアルにも書いてありますね。どうしたものか… -- [[ぱんだ]] SIZE(10){2003-01-31 (金) 18:34:43}
-while(!flock())で無限ループを作る必要がありますか?ロックできなかったらロックしない、というのもひとつの手かなと。 -- [[ぱんだ]] -- SIZE(10){2003-01-31 (金) 18:38:22}
-flock()でロックが出来なければrename()でロックするのも手かもしれません。 -- [[長月あきと]] SIZE(10){2003-02-01 (土) 19:46:25}
-私の場合Windows98で動かすときはそれで逃げてます。 -- [[長月あきと]] SIZE(10){2003-02-01 (土) 19:47:48}
-でも実装するならmkdir()の方が簡単ですね。 -- [[長月あきと]] SIZE(10){2003-02-03 (月) 14:39:36}
-昔、flockを自端末で色々とテストしていたんですけど、ロックがエラーとなる局面には、お会いすることができずにいました。ですので、flockが機能する環境なのに、エラーとなるケースって、すごい状況なんですよね?なので、自分が作成しているものは、みんな @flock で全部無視モードにしました。でも、それでも排他したいのなら、.lck ファイルを作成するなどして、原始的に逃げるしか無いでしょうね。 -- [[upk]]SIZE(10){2003-02-23 (日) 16:46:02}
-flockをgrepしてみたんですが、file.phpのput_lastmodifiedでflock($fp,LOCK_EX)をした後、もう一度flock($fp,LOCK_EX)しています。typoかな。 --  SIZE(10){2003-02-23 (日) 17:19:41}
--[[BugTrack/198]]で修正済みですね。 -- [[長月あきと]] SIZE(10){2003-02-24 (月) 03:59:18}
--ぐは、確かに。失礼しました。 --  SIZE(10){2003-02-24 (月) 22:48:09}
-きちんとやろうとすると、mkdirやrenameしたまま異常終了するケースを想定して前回ロックを掛けたのが~秒前ならロックを自動解放するとかの処理が必要かな。http://www.din.or.jp/~ohzaki/perl.htm#File_Lock あたりが参考になるかも --  SIZE(10){2003-02-23 (日) 17:20:36}
-最終的な落しどころはどうしたらよいでしょう?1.4ではwhileの無限ループを外してますから1.3もそれでいいんじゃないかなと個人的には思いますが。 -- [[長月あきと]] SIZE(10){2003-02-26 (水) 17:08:09}
- 関連: [[BugTrack2/306]] --  &new{2009-08-13 (木) 14:28:09};

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u8. HTML convert time: 0.063 sec.

OSDN