php應用程序池
① php以fastCGI的方式運行時文件系統許可權問題及解決方法
在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:的許可權設成Everyone,
並允許完全控制:
重新訪問php頁面,成功了:
上面的方法是夠簡單,但也太不安全了,平時本地搭個demo這樣做沒問題,真正上線的時候,這樣做遲早出問題的。
於是重新設置,把該目錄下的只讀許可權賦給NETWRORKSERVICE帳號再試一下
不過問題還是沒有解決,訪問的時候,出現了401錯誤
錯誤信息中包括顯示登錄用戶為匿名,檢查了網站下的身份驗證(再點擊
匿名身份驗證->編輯),原來網站默認情況下,在登錄方法為匿名時,使用的默認登錄用戶為IUSR(就是我們看到的匿名登錄用戶了)
那麼解決辦法就是:
1.
將IUSR設置為C:的讀許可權,類似之前對NETWORKSERVICE的設置。
2.
或選擇使用應用程序池標識即可。
經試驗,方法1與2都成功。
Note:NETWORKSERVICE在IIS7中隸屬於iis_iusers用戶組,之前對NETWORKSERVICE的設置也可以改為對iis_iusers的設置,同樣也可以解決問題,只是許可權被進一步放寬了而已。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
② 伺服器php怎麼用iis7配置
方法一、安裝使用phpmanager
1.下載安裝phpmanager,
2.創建並配置php.ini。將php.ini-development文件改名為php.ini,修改date.timezone=」Asia/Shanghai」。去分號開啟所需的擴展,這里不贅述。
3.打開IIS7,在主面板中雙擊phpmanager,然後點擊其中的」Register new PHP Version」,選擇你的php-cgi.exe,確定。剩下其它的配置它將給你自動設置好。
4.完成!
方法二、手動配置cgi模式(php5.3)
1.創建並配置php.ini,同上2。
2.打開IIS7,在主面板中雙擊處理程序映射,然後在右側菜單中點擊「添加模塊映射…」,設置如下:
請求路徑:*.php;
模塊:FastCgiMole;
可執行文件:你php文件夾中的php-cgi.exe;
名稱:php;
3.完成!
方法三、手動配置isapi模式(php5.2)
1.創建php.ini。php.ini-dist改名為php.ini,打開找到extension_dir=」/」,把路徑改為你的php所在路徑。
2.添加一個應用程序池,設置如下:
名稱:php;
.net framework版本:無託管代碼;
託管管道模式:集成
勾選立即啟動應用程序池。
確定。
3.雙擊ispa和cgi限制。添加一個限制,設置如下:
ISAPI或CGI路徑: 你的php5isapi.dll。
描述:php。
勾選允許執行擴展路徑。
確定。
4.添加一個isapi篩選器,設置如下:
篩選器名稱:php;
可執行文件:你的php5isapi.dll文件;
確定。
5.添加腳本映射。 雙擊處理程序映射, 點擊右側菜單的「添加腳本映射…」,設置如下:
請求路徑:*.php;
可執行文件:你的php5isapi.dll文件;
名稱:php5;
確定。
6.完成!