通过php与json文件的最大连接数
过去6个月我一直在网上搜索这个。我有一个php应用程序,它使用json文件中存储的json对象。有人知道该文件的最大连接数是多少吗?该文件将在同一时刻更新多次,所以我担心那里可能会出问题。如果有一个进度没有完成或类似的事情发生,是否有办法暂停更新过程?tnx提前您可以在更新时锁定文件,并在尝试更新之前检查锁定通过php与json文件的最大连接数,php,json,Php,Json,过去6个月我一直在网上搜索这个。我有一个php应用程序,它使用json文件中存储的json对象。有人知道该文件的最大连接数是多少吗?该文件将在同一时刻更新多次,所以我担心那里可能会出问题。如果有一个进度没有完成或类似的事情发生,是否有办法暂停更新过程?tnx提前您可以在更新时锁定文件,并在尝试更新之前检查锁定 $fp = fopen("foo.txt", "w"); if (flock($fp, LOCK_EX)) { fwrite($file,"Write something");
$fp = fopen("foo.txt", "w");
if (flock($fp, LOCK_EX)) {
fwrite($file,"Write something");
sleep(10);
flock($fp, LOCK_UN);
}
如果要重试,可以使用do
和try,catch
$attempts = 5;
$i = 0;
do {
try
{
yourFunction();
} catch (Exception $e) {
$i++;
sleep(1);
continue;
}
break;
} while($i< $attempts);
function yourFunction() {
$fp = fopen("foo.txt", "w");
if (flock($fp, LOCK_EX)) {
fwrite($file,"Write something");
sleep(10);
flock($fp, LOCK_UN);
}
}
$attempts=5;
$i=0;
做{
尝试
{
yourFunction();
}捕获(例外$e){
$i++;
睡眠(1);
继续;
}
打破
}而($i<$尝试次数);
函数yourFunction(){
$fp=fopen(“foo.txt”,“w”);
如果(群集($fp,锁_EX)){
fwrite($file,“Write something”);
睡眠(10);
羊群($fp,LOCK_UN);
}
}
也许有趣?也:。