2016-09-16 86 views
2

我正在將一個PHP應用程序從IIS7移動到Win2012 R2上的IIS8.5。該應用程序在其自己的應用程序池(MyPortal)中運行,並需要在子文件夾上寫入許可才能創建PDF。因此,我在本地機器上將修改或完全控制權限分配給IIS AppPool \ MyPortal,但該應用程序仍然無法寫入該文件夾。我發現允許它這樣做的唯一方法是將修改權限授予本地USERS組,我不想這麼做(儘管我沒有選擇ATM)。IIS AppPool用戶權限不起作用

php-cgi.exe進程在MyPortal身份下運行,但某種程度上沒有獲得我已經分配給該文件夾上的MyPortal用戶的權限。 PHP進程正在執行一個簡單的fopen命令$file = fopen($tmp_filename,"w");

我看到類似的帖子https://serverfault.com/questions/570033/iis-iusrs-and-defaultapppool-permissions-do-not-work,這表明它可能是一個權限緩存問題,通過重新啓動解決,但在這種情況下不起作用。

任何有關錯在哪裏的建議?

+0

您的IIS網站如何匿名身份驗證設置?你的應用程序池身份驗證?最好是使用Sysinternals的Process Monitor和/或Process Explorer進行調試:https://technet.microsoft.com/en-us/sysinternals/bb545021.aspx,查找文件I/O操作並訪問被拒絕的錯誤。 –

回答

1

你得到了@Jan Reinlink。匿名身份驗證需要設置爲「應用程序身份池」。我曾假設,因爲PHP進程是作爲MyPortal運行的,所以它使用相同的權限。

+0

該死的浪費了2天!這就是訣竅! –