この文書の現在のバージョンと選択したバージョンの差分を表示します。
両方とも前のリビジョン 前のリビジョン | 次のリビジョン 両方とも次のリビジョン | ||
php_lock [2019/01/01 09:07] 管理者 [PHP ファイルロック(下書)] |
php_lock [2019/01/01 10:08] 管理者 |
||
---|---|---|---|
ライン 1: | ライン 1: | ||
====== PHP ファイルロック(下書) ====== | ====== PHP ファイルロック(下書) ====== | ||
- | 1つのファイルに対して多人数が同時に書き込みを行うと処理が喧嘩してファイル破損する事があるので同時に処理できないよう制御する仕組みをファイルロックや排他制御と言います。 | + | 1つのファイルに対して多人数が同時に書き込みを行うと処理が喧嘩してファイル破損するので、同時に処理できないよう「一人目以外は拒否」または「一人ずつ順番に処理を行う」制御する仕組みをファイルロックと言います。 |
+ | 注意:排他制御とも言われますが文書管理の面では不完全です(ファイルアクセス面では完全)。例えば一人目と二人目の文書が反目している場合(競合状態)にファイルロックでは単純に「一人目以外は拒否」なら先に処理した方が勝ち「一人ずつ順番に処理を行う」なら後に処理した方が勝ちとなり、負けた方の内容がいくら正しくても破棄されます。これを回避するため何らかの方法で競合解決する必要しなければ完全な排他制御とは言えません。 | ||
===== flock ===== | ===== flock ===== | ||
ライン 116: | ライン 117: | ||
</code> | </code> | ||
+ | |||
+ | ===== 注意 ===== | ||
+ | ファイルロックは同時処理によるファイル破損を防止するだけなので、 | ||
+ | |||