最近我家主管突然問了我一個玄奧的問題,IIS 安裝 php 擴充後要怎麼移除...我家主管說他有看過沒有地方是預設功能讓你自動移除的,我一開始覺得怎麼可能,這麼多人在用的東西卻是沒有預設自動移除功能...最後還真的沒有地方可以移除,所以我就上網找了資訊嘗試手動(土炮)移除是否是可行的,結果有成功就分享(炫耀)一下~[如果依照下面步驟做了失敗本人不負任何責任]
開啟IIS選擇[處理常式對應]
尋找你要移除相關套件(PHP將紅框處移除)
FastCGI設定
尋找你要移除相關套件(PHP將紅框處移除)
然後接下要對applicationHost.config進行修改~那applicationHost.config到底是什麼呢?
官方說明
介紹
當您使用IIS 7及更高版本時,ApplicationHost.config是配置系統的根文件。它包括所有站點,應用程序,虛擬目錄和應用程序池的定義,以及Web服務器設置的全局默認值(類似於machine.config和.NET Framework設置的root web.config)。
它的特殊之處在於它是安裝Web服務器時唯一可用的IIS配置文件(但是,如果用戶仍然可以添加web.config文件)。它包含一個特殊部分(稱為configSections),用於註冊所有IIS和Windows激活系統(WAS)部分(machine.config具有與.NET Framework部分相同的概念)。它具有將大多數IIS部分鎖定到全局級別的定義,因此默認情況下它們不能被層次結構中的較低級別web.config文件覆蓋。
該文件的位置當前位於%windir%\system32\inetsrv\config目錄中。本文檔按照它們在文件中出現的順序遍歷所有部分,並逐一解釋。最複雜的部分是system.webServer,因此建議讀者不要特別跳過閱讀該部分的描述。
請注意以下事項:
1. 此文檔指定每個配置節的內容,如applicationHost.config中所示。按照設計,許多部分是空的或不完整的(只有部分內容出現在XML中)。其餘值取自架構默認值。這樣做是為了避免過多的信息和文件的混亂,並保持其合理的可讀性。
* 有關完整架構參考,包括每個部分中所有屬性的默認值,其有效範圍等,請參閱%windir%\system32\inetsrv\config\schema\IIS\_Schema.xml(對於IIS設置)或ASPNET\_Schema.xml(對於ASP.NET設置)或FX_Schema.xml(對於其他.NET Framework設置) )。
* 為方便起見,這些文件的塊包含在本文檔的相應部分中,以便讀者可以了解每個部分可用的屬性,默認值等。請參閱下面有關如何讀取架構信息的其他說明。
2. 在對文件進行任何更改之前備份文件。
接下來(windwos10)先到把 C:\Windows\System32\inetsrv\Config\applicationHost.config複製一份到桌面進行修改(PS.記得多備份一份改壞才可以還原)
為了移除PHP套件為例子我對applicationHost.config做了以下修改
<applicationPools>標籤內移除
<add name="php" managedRuntimeVersion="v4.0" />
<defaultDocument enabled="true">標籤內移除
<add value="index.php" />
<handlers accessPolicy="Read, Script">移除
<add name="PHP_via_FastCGI2" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files\PHP\v7.1\php-cgi.exe" resourceType="Either" />
<add name="PHP_via_FastCGI1" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v7.0\php-cgi.exe" resourceType="Either" />
<add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" />
<add name="PHP_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\iis express\PHP\v7.1\php-cgi.exe" resourceType="Either" />
PS.移除前記得先把scriptProcessor路徑都記下來,之後將路徑下資料刪除
對應表
OS
|
Config(修改)
|
File(移除)
|
Windwos10
|
|
|
Windwos Service
|
???
|
???
|
修改applicationHost.config資訊 PS.記得先備份改壞才可以還原
|
依照刪除元件來移除檔案
|
參考:
官方applicationHost.config說明文件https://docs.microsoft.com/en-us/iis/get-started/planning-your-iis-architecture/introduction-to-applicationhostconfig
沒有留言:
張貼留言