環境說明:
作業系統:Windows10 1151 10586.164
PHP版本:php-7.2.1-nts-Win32-VC15-x64
MySQL版本:mysql-installer-community-5.7.20.0
Microsoft URL 重寫子產品: Rewrite 2.0
一、Windows10安裝IIS10
打開【控制台】-【程式和功能】-【啟用或關閉Windows功能】。安裝IIS所需勾選的元件,我所選的元件如下圖,也許勾選的有點多了。還有就是VC元件,我所安裝的VC元件如下圖。

勾選好元件後,按【确定】。
提示需要打開【Windows更新】才能完成安裝,是以我們提前打開【Windows更新】等IIS安裝完成了再關閉。不想更新Windows10,是以打開更新時間不要太長,IIS安裝好之後馬上關閉更新。
安裝完成後驗證IIS是否安裝成功。打開浏覽器,輸入http://localhost/或者http://127.0.0.1/即可打開如下預設的 IIS“歡迎使用”頁面。
二、安裝PHP7.2.1
確定PHP安裝所需的Visual C++元件都已安裝好。
解壓php-7.2.1-nts-Win32-VC15-x64.zip,然後重命名檔案夾為php721,然後放到我們需要安裝的目錄比如我安裝到D:\IISweb\php721
然後在解壓出來的檔案夾php721中可以找到 php.ini-development 和 php.ini-production 檔案,将 php.ini-development 複制重命名為 php.ini。
然後用文本編輯器(Windows 自帶的記事本都可以)編輯 php.ini 檔案。
extension_dir = “D:\IISweb\php721\ext” #設定php子產品路徑
date.timezone = PRC #設定時區為中國時區
short_open_tag = On #php支援短标簽 可選
cgi.force_redirect = 0 #開啟以CGI方式運作php
fastcgi.impersonate = 1 #FastCGI相關設定
cgi.rfc2616_headers = 1 #為什麼要改這一項暫不懂
cgi.fix_pathinfo = 0 #将1改為0,為了防止 FastCGI解析漏洞
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED #将錯誤提醒修改為标準模式
然後搜尋php.ini内容,以下 php 擴充子產品,根據需要選擇開啟。取消前面的分号即可開啟相應擴充子產品:
extension=curl
extension=gd2
extension=mbstring
extension=mysqli
extension=openssl
extension=pdo_mysql
extension=xmlrpc
extension=pdo_sqlite
extension=sockets
extension=exif
修改好之後,儲存退出即可。
三、設定IIS支援PHP
用【小娜】搜尋IIS(Internet Information Services(IIS)管理器)就出來了。打開Internet Information Services(IIS)管理器
1、處理程式映射
選中我們需要配置支援PHP的網站,找到 【處理程式映射】,輕按兩下打開。
打開【處理程式映射】之後
①點選右邊的 【添加子產品映射…】
②按照下面填寫相關參數,其中 【請求路徑】 填寫 *.php 【可執行檔案】 選擇php安裝路徑裡的 php-cgi.exe 檔案即可,最後點【确定】。
點【确定】後,會彈出 【要為此可執行檔案建立 FastCGI 應用程式嗎?】點 【是】 即可。
2、FastCGI 設定
傳回 IIS首頁,點選左側計算機名稱,然後在右邊找到【FastCGI 設定】,輕按兩下打開。
打開【FastCGI 設定】之後,選擇完整路徑【…\php-cgi.exe】,然後點選右邊的 【編輯】。
在【編輯FastCGI應用程式】對話框的【FastCGI 屬性】中
①選中【監視對檔案所做的更改】,點選後面的【 … 】然後【選擇剛才配置好的 php.ini 檔案】
②然後選中 【環境變量】,并點選後面的 【… 】
在【…集合編輯器】的對話框中,點選【添加】。
【Name】 和 【Value】 中分别按照下圖輸入相關參數,點【确定】。
Name:PHP_FCGI_MAX_REQUESTS
Value:10000
最後,傳回【編輯 FastCGI 應用程式】對話框,點選 【确定】,完成設定。
3、預設文檔設定
回到IIS首頁,打開【預設文檔】
點右邊的【添加】
名稱:index.php 然後點【确定】
之後把【index.php】上移到最上面。
完成IIS對PHP支援的設定了。
4、測試PHP配置是否成功
打開【C:\inetpub\wwwroot】建立一個【index.php】檔案
内容如下:
phpinfo();
?>
儲存退出
在浏覽器裡面打開http://127.0.0.1/或http://localhost/
出現下面的界面,說明php程式可以正常運作了。
四、安裝MySQL
我安裝的是mysql-installer-community-5.7.20.0.msi
參考網絡資料,基本步驟相同。但有個别步驟不一樣,我好像不記得哪一步了。
下面步驟引用網絡資料教程位址: http://www.osyunwei.com/archives/9957.html
輕按兩下打開mysql-installer-community-5.7.17.0
選中“I accept the license terms”(我接受許可條款),點Next
選中“Custom”(自定義安裝)【Next】
Edit
選擇【MySQL Servers】 【64位】 【Filter】
點開【MySQL Servers】
選擇要安裝的版本,點【箭頭】移動到右邊視窗 【Next】
Execute
Next
Next
Config Type(配置類型):
Developer Machine(開發伺服器)
Server Machine(普通伺服器)
Dedicated Machine(專用伺服器)
這裡選擇第二項:Server Machine(普通伺服器)
勾選“TCP/IP ” Port Number(端口):3306
勾選“Open firewall port for network access“(打開防火牆端口網絡通路)
Next
MySQL Root password:輸入密碼
Repeat Password:重複輸入密碼
設定好之後,點Next
Windows Server Name(Windows服務名):MySQL57
勾選:“Start the MySQL Server at System Startup“(在系統啟動時啟動MySQL伺服器)
Next
Next
Execute
Finish
Next
Finish
下面設定與【網上的教程資料不同】,應該是我安裝的版本比較高。我的設定如下:
打開MySQL安裝路徑
C:\Program Files\MySQL\MySQL Server 5.7
【我的目錄是C:\ProgramData\MySQL\MySQL Server 5.7】
複制my-default.ini為my.ini
【我的目錄裡C:\ProgramData\MySQL\MySQL Server 5.7 直接就有my.ini且我直接不用配置這個步驟】
進入:開始–程式–MySQL–MySQL Server 5.7目錄
打開MySQL Server 5.7 Command Line Client
輸入安裝時候的MySQL root賬号密碼,回車,登入到MySQL控制台
exit(退出)
MySQL安裝完成。
五、配置IIS10.0支援僞靜态
輕按兩下安裝【Microsoft URL 重寫子產品rewrite_x64_zh-CN.msi 】 出現錯誤提示,【确定】
打開regedit,找到:
【HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters】
右側的【MajorVersion】是【DWORD】值,它的值【十進制是10】,把它改成【9】。
【HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp】
也是【MajorVersion】 項,這個也是【dword】值【10】【注意是十進制】,把它改成【9】
然後再次安裝,切記安裝完之後再改回來。
修改好之後再次安裝
完成裝完之後,剛才修改的兩個【MajorVersion】、【DWORD】值【9】,再改回【10】。
在:控制台\系統和安全\管理工具\Internet Information Services (IIS)管理器中可以看到”URL重寫“
在:網站根目錄下建立檔案web.config,添加僞靜态規則代碼即可實作網站靜态化。
OK!Windows10 IIS10+Rewrite+PHP-FastCgi+MySQL環境搭建完成。