**[[質問箱4/477]] [#c0769f6c]
#author("2018-03-11T20:44:51+09:00;2011-12-21T00:36:16+09:00","","")
**[[質問箱/4477]] [#c0769f6c]
|RIGHT:70|LEFT:410|c
|~カテゴリ||
|~サマリ|is_freeze(): flock() faildと表示される|
|~バージョン|1.4.7|
|~投稿者|[[一ヶ月いじり]]|
|~状態|完了|
|~投稿日|&new{2009-07-20 (月) 13:50:10};|
***質問 [#s9a0ea5c]
pukiwikiをローカルで構築しているのですが、ブラウザからローカルホストにあるindex.phpにアクセスすると、is_freeze(): flock() faildとだけ表示されます。

php4.3.1、OS Win98です。
検索して調べてみましたが、[[同じような症状の質問>質問箱4/442]]が打ち切られている上に、エラーが何処に有るのかすら分かりません。
ご助言お願いします。


***回答 [#tfb4a3db]
- [[flock 関数>PHP関数:flock]] の注意に次のような警告があります。
>''flock()''はFATのような 旧式のファイルシステムではサポートされていないため、 そのような環境の場合は常に''FALSE''を返すことになります。 (これは特にWindows98ユーザーにとって常に真です)
<lib/func.php のis_freeze 関数にあるflock 関数のある2つの行をコメントにしたらどうですか。 --  &new{2009-07-20 (月) 18:40:27};
- ご意見ありがとうございます!早速、助言の通りに調べて見ましたらis_freeze関数にエラーが有りました。エラーがあった二行ですif(! $function_freeze || ! is_page($page){    $is_freeze[$page]=FALSE;となっています。 -- [[一ヶ月いじり]] &new{2009-07-20 (月) 20:05:48};
- 申し訳ありません、flock関数に関係する二行でしたね……上のは気にしないでください正しくはflock($fp. LOCK_SH) or die('is_freeze(): flock() faild')rewind($fp)flock($fp, LOCK_UN) or die('is freeze(): flock() faild'):です -- [[一ヶ月いじり]] &new{2009-07-20 (月) 20:17:44};
- アドバイスの表現をミスったかな・・・。flock 関数を実行しないように、その行をコメントにして無効化してみてください。 --  &new{2009-07-21 (火) 18:33:57};
 	} else {
 		$fp = fopen(get_filename($page), 'rb') or
 			die('is_freeze(): fopen() failed: ' . htmlspecialchars($page));
 //		flock($fp, LOCK_SH) or die('is_freeze(): flock() failed');
 		rewind($fp);
 		$buffer = fgets($fp, 9);
 //		flock($fp, LOCK_UN) or die('is_freeze(): flock() failed');
 		fclose($fp) or die('is_freeze(): fclose() failed: ' . htmlspecialchars($page));
 
 		$is_freeze[$page] = ($buffer != FALSE && rtrim($buffer, "\r\n") == '#freeze');
 		return $is_freeze[$page];
 	}
- コメント化を知らなかったので、とんちんかんな事をしてしまい申し訳ないです。問題は解決しました!ありがとうございます -- [[一ヶ月いじり]] &new{2009-07-28 (火) 00:54:32};
- 同じ現象に遭遇して情報を探しましたが、flockをコメントアウトするかor dieを消すかくらいしか対処法が見当たりませんでした。しかしファイルの排他制御ができていないのは危ない気がして、ロックしつつエラーにしない方法がないかと考えていますが思いつきません。 -- [[Kats]] &new{2011-12-20 (火) 17:35:51};
- [[dev:BugTrack/164]] や、[[質問箱3/260]] とかにヒントあったかな? --  &new{2011-12-21 (水) 00:36:16};
- [[dev:BugTrack/164]] や、[[質問箱/3260]] とかにヒントあったかな? --  &new{2011-12-21 (水) 00:36:16};

#comment

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

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 8.2.12. HTML convert time: 0.050 sec.

SourceForge