在IIS7上執行PHP功能擴充套件

技術小胖子發表於2017-11-11

本文包含了手動設定Internet資訊服務(IIS)7.0和更高版本,從而使它們支援PHP在Windows 7中工作,此外本文適合於安裝了Windows Vista SP1的Windows Server 2008和Windows Server 2008 R2。 關於IIS 5.1 and IIS 6.0 on Windows XP、 Windows Server 2003的設定方法請參考Microsoft IIS 5.1 and IIS 6.0  (可能為英文)。對於設立在Windows XP和Windows Server 2003 IIS 5.1和IIS 6.0的說明,請參閱微軟的IIS 5.1和IIS 6.0  (可能為英文)。

在IIS中啟用FastCGI支援

在預設安裝的IIS FastCGI模組被禁用。它基於對正在使用的Windows版本不同的步驟來啟用。

為了使在Windows Vista SP1和Windows 7的FastCGI支援需要以下操作:

  1. 在Windows開始選單選擇“執行”,在對話方塊中輸入“optionalfeatures.exe”,並點選“確定”;

  2. 在“Windows功能”對話方塊中,展開“Internet資訊服務”,“全球資訊網服務”,“應用程式開發功能”,然後啟用“的CGI”核取方塊;

  3. 點選“確定”,等到安裝完成。

如下圖所示:

image

為了使在Windows Server 2008和Windows Server 2008 R2的FastCGI支援:

  1. 在Windows開始選單選擇“執行”,輸入“CompMgmtLauncher”,並點選“確定”;

  2. 如果目前的“Web伺服器(IIS)”的角色,是沒有根據的“角色”節點,然後單擊“新增角色”,它新增;

  3. 如果在“Web伺服器(IIS)”的角色存在,然後單擊“新增角色服務”,然後啟用“應用開發”組的”CGI”核取方塊;

  4. 點選“下一步”,然後點選“安裝”,並等待安裝完成。

 

如下圖所示:

image

配置IIS處理PHP請求

下載並安裝PHP按照說明書中所述的手動安裝步驟 (可能為英文)。

 注意 :

非執行緒安全的構建PHP的建議時,使用IIS。 非執行緒安全的版本是可在PHP的Windows二進位制檔案和源的排放(可能為英文)。

配置在php.ini檔案中的CGI和FastCGI具體設定如下所示:

例: php.ini中設定 CGI和FastCGI

 


  1. fastcgi.impersonate = 1fastcgi.impersonate = 1 
  2.  
  3. fastcgi.logging = 0 fastcgi.logging = 
  4.  
  5. cgi.fix_pathinfo=1 cgi.fix_pathinfo = 
  6.  
  7. cgi.force_redirect = 0 cgi.force_redirect0   

 

無論是使用IIS管理器使用者介面或命令列工具,配置PHP的IIS處理程式對映。

使用IIS管理器的使用者介面,建立一個處理程式對映為PHP

按照這些步驟來建立一個PHP的IIS在IIS管理器使用者介面處理程式對映:

  1. 在Windows開始選單選擇“執行”,型“INETMGR”,並點選“確定”;
  2. 在IIS管理器使用者介面,選擇“連線”的樹檢視中的伺服器節點;
  3. 在“功能檢視”頁面,開啟“處理器對映”功能;

clip_image002[4]

  1. 在“操作”窗格中單擊“新增模組對映……”;
  2. 在“新增模組對映”對話方塊,輸入以下內容:
  • 請求路徑:* PHP。
  • 模組:FastCgiModule
  • 可執行檔案:C: [PHP安裝路徑] php-cgi.exe檔案
  • 名稱:PHP_via_FastCGI 

點選“請求限制”按鈕,然後配置只有當請求被對映到一個檔案或資料夾對映到呼叫處理程式;
所有的對話方塊上點選“確定”儲存配置。

如下圖所示:

clip_image004[4]

使用命令列工具來建立一個PHP的處理程式對映

使用如下所示的命令,以建立一個IIS FastCGI程式池,這將使用php-cgi.exe檔案的可執行檔案處理PHP請求。

更換FULLPATH php-cgi.exe檔案的檔案的絕對路徑引數值。

例:建立IIS FastCGI程式池

 


  1. %windir%system32inetsrvappcmd set config /section:system.webServer/fastCGI ^  
  2. /+[fullPath=`c:PHPphp-cgi.exe`]  

 

配置IIS處理PHP的具體要求,通過執行如下所示的命令。

更換scriptProcessor php-cgi.exe檔案的檔案的絕對路徑引數值。

例:建立PHP請求的處理程式對映

 


  1. %windir%system32inetsrvappcmd set config /section:system.webServer/handlers ^  
  2.  
  3. /+[name=`PHP_via_FastCGI`path=`*.php`,verb=`*`,modules=`FastCgiModule`,^  
  4.  
  5. scriptProcessor=`c:PHPphp-cgi.exe`,resourceType=`Either`]  

 

注:此命令為PHP副檔名建立一個IIS處理程式對映,這將導致對所有的URL結尾的PHP 交給FastCGI模組處理。

本文轉自 urey_pp 51CTO部落格,原文連結:http://blog.51cto.com/dgd2010/809850,如需轉載請自行聯絡原作者


相關文章