大多數人普遍認為IIS只能運行一般網頁與ASP語言,但其實是可以透過CGI(Common Gateway Interface)將PHP運行在IIS上,不必另外裝apache,也不用擔心port衝到的問題。此篇將著重在設定部分,假設讀者們都已安裝好PHP(若無可透過官方PHP下載或WAMP等方式)。
此篇設定之環境為
- Windows Server 2008 R2
- PHP6
- IIS 7.5
修改php.ini
將php.ini-recommended複製或直接更名成php.ini。修改以下資訊- (約在578行)將 ; extension_dir = "ext" 改成 extension_dir = "ext"
- (約在480行)將 ;cgi.force_redirect = 1 改成 cgi.force_redirect = 0
- (約在498行)將 ;cgi.fix_pathinfo=1 改成 cgi.fix_pathinfo=1
- (約在505行)將 ;fastcgi.impersonate = 1; 改成 fastcgi.impersonate = 1
- (約在600行)將 ;extension=php_mbstring.dll 改成 extension=php_mbstring.dll
- (約在607行)將 ;extension=php_mysql.dll 改成 extension=php_mysql.dll
- (約在608行)將 ;extension=php_mysqli.dll 改成 extension=php_mysqli.dll
- (約在640行)將 ;date.timezone = 改成 date.timezone = "Asia/Taipei"
- (約在302行)將 error_reporting = E_ALL 改為 error_reporting = E_ERROR & ~E_NOTICE & ~E_WARNING
修改權限
IIS設定
開啟IIS管理員,選擇web站台,點選"處理常式對應"。點選右邊的新增模組("Add Module Mapping"),要求路徑(Request path)請輸入:*.php,模組(Module)請選擇FastCgiModule,執行檔(Executable)請選擇安裝的php資料夾內的php-cgi.exe檔:D:\AppServ\php6\php-cgi.exe,名稱可自定。
如此一來便設定完成,可自行產生一個phpinfo檔案測試即可。