我看到有關此主題的幾個問題,但環顧四周,我不幸找到解決方案。無法取消鏈接PHP/Windows中的文件
我的Windows服務器上運行的PHP5.3與2008年的Apache2
一個PDF文件是由腳本創建的,並且是通過電子郵件發送的需要之後被刪除,即:
unlink($filename);
上面的代碼不會刪除文件,但會返回此錯誤消息:
[18-Mar-2013 10:56:06 UTC] PHP警告:取消鏈接(D:\ mypath \ temp \ myfilename.pdf) [function.unlink]:權限被拒絕d:\ mypath中\控制器\ IndexController.php上線554
使用EXEC/WHOAMI我可以看到,用戶是 「NT AUTHORITY \ SYSTEM」
使用fileperms功能,和在例2使用代碼解析它,我可以看到該文件具有以下權限:33206 -rw-rw-rw-
我還檢查了包含文件夾,並且此係統用戶對該文件夾及其內容具有完全控制。
任何人都可以建議其他任何嘗試刪除文件?提前致謝。
確定當您調用unlink時文件已關閉?如果電子郵件腳本仍然打開,則Windows可能不允許您刪除它。進程監視器(http://technet.microsoft.com/en-gb/sysinternals/bb896645)將允許您在嘗試刪除文件時判斷是否有任何內容正在訪問您的文件。 – glenatron 2013-03-18 13:38:05
感謝您的建議! PDF是由一個單獨的庫創建的,我可以看到
fclose($filename)
至少被稱爲...我將使用文件監視器並讓我們知道是否有任何事情發生! – 2013-03-18 14:17:27玩安全 - (臨時)授予用戶「每個人」完全控制你的臨時文件夾。如果有幫助,那麼應該發現,應爲系統授予什麼權限。如果沒有幫助,那麼有一些防病毒軟件,在關閉它之後掃描文件*並可能導致此類錯誤。我已經看到了(不是在網絡服務器場景中),在這段時間內延遲了100毫秒。 – Arvo 2013-03-19 07:15:27