1、目的:在win server 2008上iis7+thinkphp5部署。(iis已有其他asp項目,不可能卸載)
2、解決方案:
1)換端口是一種解決方案,太low
2)不換端口,在原有iis7上配置二級域名,還是80端口,比較高端點
3、簡單說一下換端口的方案,iis(數據庫 sql server),而我們要做的是php的網站,所以直接下載一個 phpstudy2016或者2018版本即可。
使用php-5.6-nts版本。(將apche的listen指向8088即可;win防火牆建立入站規則,開發8088端口)
4、下面重點介紹:(建議還是安裝上phpstudy,不開啟Apache,只開啟mysql即可。)
iis上解析php(php5.6)。框架主體thinkphp5.0,網站集成主體:thinkcmf5
步驟一:查看win上的VC庫,是否含有vc9,vc11,32位是必須裝的,64位可裝可不裝,最好都裝,不沖突
步驟二:iis7 安裝CGI模塊(作用:iis能夠解析php腳本) -- 安裝完畢重啟iis(命令:程序》運行》iisreset)
步驟三:iis7 添加【程序處理映射】-》添加映射模塊 【指向phpstudy的5.6版本的php--cgi.exe】程序,保存
步驟四:因為thinkphp5 是只能pathinfo模式,也就是偽靜態,所以必須在iis7上 安裝上 【URL rewrite模塊】,下載並默認安裝【https://www.iis.net/downloads/microsoft/url-rewrite#additionalDownloads , 選擇 en-x64 -- 重啟iis】
步驟五:iis7 創建網站,刪除默認網站【default web site】,具體百度:很簡單的,難點就是 物理路徑(隨便哪個盤都可以)這里,指向public/ (也就是index.php入口文件這里,其他不變)
iis7 創建網站,記得配置【編輯權限】,把iis的用戶 設置全部權限,這里因為我們的物理路徑指向public,所有要手動給public的上一級給iis用戶項目的權限,
否則,會報錯403
步驟六:還是pathinfo配置,上面步驟四是1,這里是2,不需要手動導入規則,thinkcmf5的iis7 偽靜態直接在 public/ 下新建web.config,將下面代碼寫進去即可。
參考:https://www.thinkcmf.com/topic/1384.html
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="OrgPage" stopProcessing="true"> <match url="^(.*)$" /> <conditions logicalGrouping="MatchAll"> <add input="{HTTP_HOST}" pattern="^(.*)$" /> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php/{R:1}" /> </rule> </rules> </rewrite> <directoryBrowse enabled="false" /> <security> <requestFiltering allowDoubleEscaping="True" /> </security> <defaultDocument> <files> <clear /> <add value="index.php" /> <add value="Default.htm" /> <add value="Default.asp" /> <add value="index.htm" /> <add value="index.html" /> <add value="iisstart.htm" /> </files> </defaultDocument> </system.webServer> </configuration>
步驟七:啟動phpstudy的MySQL,將文件和數據庫導入,瀏覽器:localhost,就能看到你的網站了。
如果報錯500,一般是【已經存在了 fastcgiModule】,與我們配置的沖突,刪掉它即可,
或者是win下的php環境變量配置有誤,第一次下載php的機器無須處理,如果有殘留版本php,需要注意這里的php環境變量
步驟八:親測有效。 有問題請留言