忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/08/24 04:30 |
fclose()の動作がPHP5.3.2から変更になっている件
fclose()の関数リファレンスには変更履歴は何もありません。
http://www.php.net/manual/ja/function.fclose.php

ところがflock()の変更履歴にこんなことが書いてあります。
http://www.php.net/manual/ja/function.flock.php

> 5.3.2
> ファイルのリソースハンドルを閉じたときにロックを自動的に解放する機能が削除されました。
> ロックの解放は、常に手動で行わなければなりません。 

つまり、
	$fp = fopen('hoge.txt','a');
	while(flock($fp, LOCK_EX)===false){
		sleep(1);
	}
	fwrite($fp, 'hoge');
	fclose($fp);
	
	//時間のかかる処理
	sleep(100);
	print('おわり');
この書き方はPHP5.3.2になった途端に破綻するということです。

なんでこの機能削除したんでしょう?
けっこう重大な問題になりそうなところがありそうな気がするんですが。

削除したはいいんですがfclose()の更新履歴にも書いてほしいですね。
まあ、よく見たらNotesに書いてありますけどね。
PR


2011/05/06 21:29 | Comments(0) | TrackBack(0) | PHP

トラックバック

トラックバックURL:

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<今週の実績 2011/05/08 | HOME | 天野貴「長門有紀は萌えているか? ~ 『涼宮ハルヒ』の萌えの構造」>>
忍者ブログ[PR]