php以fastCGI的方式運(yùn)行時(shí)文件系統(tǒng)權(quán)限問(wèn)題及解決方法
今天準(zhǔn)備將一個(gè)php demo放在IIS下運(yùn)行,網(wǎng)站在IIS下的配置是這樣的:
應(yīng)用程序池是集成模式下的.net framework 2.0(2.0或4.0沒(méi)什么關(guān)系,因?yàn)閜hp以fastCGI的方式在跑), 應(yīng)用程序池標(biāo)識(shí)配置為IIS內(nèi)置的NETWORKSERVICE, 使用的認(rèn)證方式為匿名身份驗(yàn)證。
打開(kāi)本地的網(wǎng)站,訪問(wèn)php頁(yè)面, 出現(xiàn)了500錯(cuò)誤。
好吧,是權(quán)限問(wèn)題,最簡(jiǎn)單的解決辦法是把C:\Users\Administrator\PhpstormProjects\phpDemo的權(quán)限設(shè)成Everyone, 并允許完全控制:
重新訪問(wèn)php頁(yè)面,成功了:
上面的方法是夠簡(jiǎn)單,但也太不安全了,平時(shí)本地搭個(gè)demo這樣做沒(méi)問(wèn)題,真正上線的時(shí)候,這樣做遲早出問(wèn)題的。
于是重新設(shè)置,把該目錄下的只讀權(quán)限賦給NETWRORKSERVICE帳號(hào)再試一下
不過(guò)問(wèn)題還是沒(méi)有解決,訪問(wèn)的時(shí)候,出現(xiàn)了401錯(cuò)誤
錯(cuò)誤信息中包括顯示登錄用戶(hù)為匿名,檢查了網(wǎng)站下的身份驗(yàn)證(再點(diǎn)擊 匿名身份驗(yàn)證->編輯),原來(lái)網(wǎng)站默認(rèn)情況下,在登錄方法為匿名時(shí),使用的默認(rèn)登錄用戶(hù)為IUSR(就是我們看到的匿名登錄用戶(hù)了)
那么解決辦法就是:
1. 將IUSR設(shè)置為C:\Users\Administrator\PhpstormProjects\phpDemo的讀權(quán)限,類(lèi)似之前對(duì)NETWORKSERVICE的設(shè)置。
2. 或選擇使用應(yīng)用程序池標(biāo)識(shí)即可。
經(jīng)試驗(yàn),方法1與2都成功。
Note:NETWORKSERVICE在IIS7中隸屬于iis_iusers用戶(hù)組,之前對(duì)NETWORKSERVICE的設(shè)置也可以改為對(duì)iis_iusers的設(shè)置,同樣也可以解決問(wèn)題,只是權(quán)限被進(jìn)一步放寬了而已。
以上所述就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
將一維或多維的數(shù)組連接成一個(gè)字符串的php代碼
自定義一個(gè)函數(shù) ,把一個(gè)數(shù)組變成用,(逗號(hào))連接起來(lái)的字符串 (注意:應(yīng)考慮到多維數(shù)組的情況,并以返回值的形式返回)2010-08-08實(shí)例講解通過(guò)PHP創(chuàng)建數(shù)據(jù)庫(kù)
在本篇文章里小編給大家分享了關(guān)于如何通過(guò)​PHP創(chuàng)建數(shù)據(jù)庫(kù)的知識(shí)點(diǎn)內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-01-01

PHP項(xiàng)目在Docker(WSL2)中運(yùn)行緩慢的解決方法

關(guān)于php支持分塊與斷點(diǎn)續(xù)傳文件下載功能代碼

PHP使用mkdir創(chuàng)建多級(jí)目錄的方法