我正在將一個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,這表明它可能是一個權限緩存問題,通過重新啓動解決,但在這種情況下不起作用。
任何有關錯在哪裏的建議?
您的IIS網站如何匿名身份驗證設置?你的應用程序池身份驗證?最好是使用Sysinternals的Process Monitor和/或Process Explorer進行調試:https://technet.microsoft.com/en-us/sysinternals/bb545021.aspx,查找文件I/O操作並訪問被拒絕的錯誤。 –