【原创:IIS7.5+ThinkPHP5】在iis7上部署thinkphp5,以thinkcmf5为例

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环境变量

步骤八:亲测有效。 有问题请留言