PHP中關於flock的有關問題

來源:互聯網
上載者:User
PHP中關於flock的問題
關於flock的問題,我在部落格上整體了下,http://www.shionco.com/archives/php_flock.html

常式代碼:

$fd = fopen('./a.html', 'wb');
if ($fd) {
if (@flock($fd, LOCK_EX|LOCK_NB)) {
echo '未鎖,開啟檔案並加鎖';
sleep(10);
} else {
print '已鎖,關閉檔案';
}
fclose($fd);
} else {
echo '開啟檔案失敗';
}

我在FF下,建立2個頁面,開啟第一個頁面運行,獨佔鎖定成功,進入延時狀態,馬上開啟第2個頁面運行,結果第2頁發生阻塞,等到第1頁運行結束,第2頁也獨佔鎖定成功,進入延時狀態,執行完畢,明明使用了LOCK_NB,但並未發生獨佔鎖定失敗。無論是建立標籤頁或新視窗都會發生阻塞!

然而在IE下(我使用的是IE9,別的未測試),同樣的流程,第2頁直接獨佔鎖定失敗,輸出"已鎖,關閉檔案";

如果是這樣,FF的用戶端大量瀏覽發生內容更新的快取檔案,豈不是都會阻塞?



------解決方案--------------------
你可以這樣驗證,再建立一個檔案,包含上述代碼

試著用標籤式瀏覽器分別開啟這兩個檔案,,,,看看是否達到你的需求。。如果是,就是上述原因
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.