我創建了一個在Windows/Wamp環境中具有緩存腳本的應用程序。該腳本的緩存功能只允許同時運行一次。PHP fopen'x +'在ubuntu上無法運行
爲了達到這個目的,我使用了一個'鎖定文件'來檢查它是否存在。
在windows上,此腳本繼續正常工作。但現在它被轉移到Ubuntu環境是行不通的。
<?php
date_default_timezone_set('Europe/Amsterdam');
ini_set('max_execution_time', 300);
ignore_user_abort(true);
$path = 'locked.txt';
if ($lock = fopen($path,'x+')) {
fwrite($lock,time());
fclose($lock);
sleep(10);
unlink($path);
}
?>
錯誤:fopen(locked.txt): failed to open stream: Permission denied
「@ fopen」正在抑制可能會導致問題出現的錯誤。 – apokryfos
@apokryfos刪除了抑制'@'。但是沒有錯誤。我還用一段簡單的代碼編輯了我的帖子。 – kgongonowdoe
複製粘貼您的代碼。在我的14.04 Ubuntu上運行良好。確保你已經擁有目錄的執行權限,因爲如果你不這樣做,你不能刪除。 – apokryfos