file.phpエラー (flockの取り扱い)

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

メッセージ

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


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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-08-13 (木) 14:28:09
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.295 sec.

OSDN