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环境变量
步骤八:亲测有效。 有问题请留言