3
実行時にphp
ファイルを変更する必要があります。
これは緊急時に設定の1つに変更が必要な設定ファイルです。
私の質問は、そのファイルにアクセスしようとする他のセッションがファイルが書き換えられるまで延期され、ファイルが見つからなかったというセッションをクラッシュさせないように、書き込み前にファイルをlock
にできるかどうかです。実行中にphpファイルの名前を変更する - ロックが可能ですか?
実行時にphp
ファイルを変更する必要があります。
これは緊急時に設定の1つに変更が必要な設定ファイルです。
私の質問は、そのファイルにアクセスしようとする他のセッションがファイルが書き換えられるまで延期され、ファイルが見つからなかったというセッションをクラッシュさせないように、書き込み前にファイルをlock
にできるかどうかです。実行中にphpファイルの名前を変更する - ロックが可能ですか?
はい、マニュアルから
例flock機能のマニュアルエントリを参照してください:あなたは時代遅れのファイルシステム(FAT)flock()
を使用している場合
<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (flock($fp, LOCK_EX)) { // acquire an exclusive lock
ftruncate($fp, 0); // truncate file
fwrite($fp, "Write something here\n");
fflush($fp); // flush output before releasing the lock
flock($fp, LOCK_UN); // release the lock
} else {
echo "Couldn't get the lock!";
}
fclose($fp);
?>
はどうやら例えば、いくつかの注意点があり、常にfalseを返します。 PHPをISAPI拡張モジュールとして使用している場合、flock
は、ファイルが並列スレッドで実行されている他のPHPスクリプトによって変更または読み込まれることをロックしません。