एक तरह से php समारोह एक डमी फ़ाइल, कि एक प्रहरी के रूप में कार्य के साथ झुंड उपयोग करने के लिए है।
हमारा काम की शुरुआत, यदि फ़ाइल एक LOCK_EX झंडा, बाहर निकलें उठाना, या प्रतीक्षा करें, किया जा सकता है।
Php झुंड प्रलेखन: http://php.net/manual/en/function.flock.php
इस उदाहरण के लिए, एक फ़ाइल lock.txt पहले बनाया जाना चाहिए कहा जाता है।
उदाहरण 1, यदि कोई और जुड़वां प्रक्रिया चल रही है, तो यह एक राज्य संदेश देने के बिना ठीक से बाहर निकल जाएगी।
यह त्रुटि स्थिति फेंक देगा, अगर फ़ाइल lock.txt पहुंच योग्य नहीं है।
<?php
$fp = fopen("lock.txt", "r+");
if (!flock($fp, LOCK_EX|LOCK_NB, $blocked)) {
if ($blocked) {
// another process holds the lock
echo "Couldn't get the lock! Other script in run!\n";
}
else {
// couldn't lock for another reason, e.g. no such file
echo "Error! Nothing done.";
}
}
else {
// lock obtained
ftruncate($fp, 0); // truncate file
// Your job here
echo "Job running!\n";
// Leave a breathe
sleep(3);
fflush($fp); // flush output before releasing the lock
flock($fp, LOCK_UN); // release the lock
}
fclose($fp); // Empty memory
उदाहरण 2, हम, कतार के बाद एक निष्पादन के लिए प्रतीक्षा करने के लिए प्रक्रिया, चाहता है यदि कोई हो:,
<?php
$fp = fopen("lock.txt", "r+");
if (flock($fp, LOCK_EX)) { // acquire an exclusive lock
ftruncate($fp, 0); // truncate file
// Your job here
echo "Job running!\n";
// Leave a breathe
sleep(3);
fflush($fp); // flush output before releasing the lock
flock($fp, LOCK_UN); // release the lock
}
fclose($fp);
यह भी fopen एक्स मोड में साथ संभव है स्क्रिप्ट समाप्त होने पर फ़ाइल बनाने और मिटाकर।
केवल लेखन के लिए बनाएं और खोलें; फाइल पॉइंटर को फ़ाइल की शुरुआत पर रखें। फ़ाइल पहले से मौजूद हैं, तो fopen() कहते हैं एक वेबसर्वर, या कमांड लाइन के तहत गलत लौटने
http://php.net/manual/en/function.fopen.php
चालू स्क्रिप्ट है द्वारा असफल हो जायेगी? –
यदि यह वास्तव में मायने रखता है ... वेब सर्वर। –
शायद एक MySQL लॉक, उस स्थिति में, इसलिए स्क्रिप्ट कृपा से निरस्त हो सकती है और "उपयोग में डर" कह सकती है। झुंड का उपयोग करके और जैसे ही स्क्रिप्ट को अपाचे से बंद कर दिया जाएगा और संभवतः 500 आंतरिक त्रुटियों और क्या नहीं होगा। –