php以fastCGI的方式運行時檔案系統許可權問題及解決方案

來源:互聯網
上載者:User

   在IIS7.0上以FastCGI方式配置好PHP運行環境,測試可以正常運行PHP程式後,將PHP程式部署上去,匯入程式原來的資料和配置資訊。很快就有問題出來啦下面我們就詳細記錄下。

  今天準備將一個php demo放在IIS下運行,網站在IIS下的配置是這樣的:

  應用程式集區是整合模式下的.net framework 2.0(2.0或4.0沒什麼關係,因為php以fastCGI的方式在跑), 應用程式集區標識配置為IIS內建的NETWORKSERVICE, 使用的認證方式為匿名驗證。

  開啟本地的網站,訪問php頁面, 出現了500錯誤。

  好吧,是許可權問題,最簡單的解決辦法是把C:UsersAdministratorPhpstormProjectsphpDemo的許可權設成Everyone, 並允許完全控制:

  重新訪問php頁面,成功了:

  上面的方法是夠簡單,但也太不安全了,平時本地搭個demo這樣做沒問題,真正上線的時候,這樣做遲早出問題的。

  於是重新設定,把該目錄下的唯讀許可權賦給NETWRORKSERVICE帳號再試一下

  不過問題還是沒有解決,訪問的時候,出現了401錯誤

  錯誤資訊中包括顯示登入使用者為匿名,檢查了網站下的身分識別驗證(再點擊 匿名驗證->編輯),原來網站預設情況下,在登入方法為匿名時,使用的預設登入使用者為IUSR(就是我們看到的匿名登入使用者了)

  那麼解決辦法就是:

  1. 將IUSR設定為C:UsersAdministratorPhpstormProjectsphpDemo的讀許可權,類似之前對NETWORKSERVICE的設定。

  2. 或選擇使用應用程式集區標識即可。

  經實驗,方法1與2都成功。

  Note:NETWORKSERVICE在IIS7中隸屬於iis_iusers使用者組,之前對NETWORKSERVICE的設定也可以改為對iis_iusers的設定,同樣也可以解決問題,只是許可權被進一步放寬了而已。

  以上所述就是本文的全部內容了,希望大家能夠喜歡。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.