您好,登錄后才能下訂單哦!
本篇內容介紹了“php以fastCGI的方式運行時文件系統權限問題和解決方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
今天準備將一個php demo放在IIS下運行,網站在IIS下的配置是這樣的:
應用程序池是集成模式下的.net framework 2.0(2.0或4.0沒什么關系,因為php以fastCGI的方式在跑), 應用程序池標識配置為IIS內置的NETWORKSERVICE, 使用的認證方式為匿名身份驗證。
打開本地的網站,訪問php頁面, 出現了500錯誤。
好吧,是權限問題,最簡單的解決辦法是把C:\Users\Administrator\PhpstormProjects\phpDemo的權限設成Everyone, 并允許完全控制:
重新訪問php頁面,成功了:
上面的方法是夠簡單,但也太不安全了,平時本地搭個demo這樣做沒問題,真正上線的時候,這樣做遲早出問題的。
于是重新設置,把該目錄下的只讀權限賦給NETWRORKSERVICE帳號再試一下
不過問題還是沒有解決,訪問的時候,出現了401錯誤
錯誤信息中包括顯示登錄用戶為匿名,檢查了網站下的身份驗證(再點擊 匿名身份驗證->編輯),原來網站默認情況下,在登錄方法為匿名時,使用的默認登錄用戶為IUSR(就是我們看到的匿名登錄用戶了)
那么解決辦法就是:
1. 將IUSR設置為C:\Users\Administrator\PhpstormProjects\phpDemo的讀權限,類似之前對NETWORKSERVICE的設置。
2. 或選擇使用應用程序池標識即可。
經試驗,方法1與2都成功。
Note:NETWORKSERVICE在IIS7中隸屬于iis_iusers用戶組,之前對NETWORKSERVICE的設置也可以改為對iis_iusers的設置,同樣也可以解決問題,只是權限被進一步放寬了而已。
“php以fastCGI的方式運行時文件系統權限問題和解決方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。