3
我有一個緩存系統內建立的PHP存儲在XML XML查詢的結果。我通過創建帶有獨佔寫入句柄的鎖定文件來構建高速緩存,然後在完成高速緩存文件後將其刪除。如何確保文件句柄關閉,如果一個PHP腳本超時?
但是,有些時候腳本要麼超時,要麼暫停執行,而是讓鎖定文件保留原位,這樣腳本的任何進一步執行都會認爲緩存始終在更新。
我試圖檢查文件是一個分鐘數舊,並試圖獲得獨家寫入訪問該文件來刷新鎖並開始執行,但它似乎該文件仍然打開與以前的句柄和我無法打開新的句柄,以確保當前進程是唯一一個訪問並重新鎖定文件的進程。
有沒有一種方法可以確保腳本在執行過程中暫停,任何打開的文件句柄都會關閉,並且所涉及的文件可供將來的進程訪問?
感謝
感謝回覆Emil,我發現在檢查卡住的鎖定文件時,我在我的fopen上使用了錯誤的模式,無論我做了什麼,它總是會返回false。 我現在正在努力改變這一點,並確保我得到的結果是正確的結果,而不是錯誤的結果 有時候發現實際問題比修復它,一旦你知道什麼是錯的。 – coffeecoder 2009-11-27 16:04:49