File-Permissions
IIS_IUSRS 和 DefaultAppPool 權限不起作用
我正在 Windows Server 2012 R2 上的 IIS 8.5 上設置 PHP 應用程序。我之前已經在幾台 Windows Server 2008 R2 和 Windows Server 2012 機器上成功設置了這個應用程序,但這是我使用的第一台 2012 R2 機器。
PHP 應用程序具有它需要寫入的目錄
log
。cache
在以前的所有機器上,我都將 PHP 站點設置為在預設應用程序池中執行,然後授予該
IIS_IUSRS
組讀取整個站點和寫入這些目錄的權限。到目前為止,這在我使用過的所有以前的伺服器上都有效。然而,在這台新伺服器上,PHP 仍然表示它沒有寫入所需位置的權限。
我在任務管理器中檢查以確保 IIS 程序(和 PHP CGI 程序)以預期使用者身份執行,並發現它們
DefaultAppPool
按預期執行。但是,權限似乎不起作用。我嘗試停止並重新啟動 IIS,回收應用程序池,並將IIS AppPool\DefaultAppPool
使用者權限直接添加到文件夾中,但這些都沒有幫助。這裡有什麼問題?當它在四台較舊的伺服器上完全沒有問題時,為什麼這不起作用?
似乎存在某種文件系統級別或作業系統級別的權限記憶體,因為該問題似乎在系統完全重新啟動後自行解決(即使重新啟動 IIS (
W3SVC
) 和回收應用程序池確實應該解決此問題)。