阅读目录

  • 1.启动iis服务器
  • 2.打开iis
    • 3.创建网站
  • 4.php设置
    •   ①添加默认文档
    • ②处理程序映射
  • 1.安装urlrewrite
  • 2.使用URL重写

今天跟着学习了如何在IIS下部署php项目,操作很简单,记录一下步骤!

回到顶部

1.启动iis服务器

  

最后点击确定就完成了

回到顶部

2.打开iis

点击进入即可

3.创建网站

进入添加网站。

添加注意事项如图所示!

启动、浏览、重启、停止网站这个如图所示。

需要说明的是  只要修改了配置就必须重启下网站

回到顶部

4.php设置

  ①添加默认文档

  

写入  index.php就行

②处理程序映射

  

选择“添加模块映射”

说明

  请求路径:*.php *  知道正则就知道原因了

  模块:这个必须在启动IIS的时候,必须勾选"CGI",不然选择的时候找不到 FastCgiModule

到此为止  php项目已经是在iis上部署好了【在项目根目录下会生成web.config文件】。但是对于那些需要使用伪静态的  比如  yii2 美化url路由 ....的话,还需要以下的操作:

回到顶部

1.安装urlrewrite

  百度URLREWRITE 下载并安装。

回到顶部

2.使用URL重写

  安装成功URLREWRITE后,关闭iis后再次启动。接着在页面就会出现url重写项。点击它即可

url重写做好之后,会吧配置都写在  web.config 文件里

<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><defaultDocument><files><add value="index.php" /></files></defaultDocument><handlers><add name="php" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\phpstudy\php\php-7.0.12-nts\php-cgi.exe" resourceType="File" /></handlers><rewrite><rules><rule name="wechat"><match url="^\/wechat\/(.*)$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /><add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /></conditions><action type="Rewrite" url="/wechat/index.php/{R:1}" /></rule><rule name="已导入的规则 1"><match url="^(.*)$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /><add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /></conditions><action type="Rewrite" url="index.php/{R:1}" /></rule></rules></rewrite></system.webServer></configuration>

大家注意了 。我上面的配置有两个重点。

第一  解决了  “关于IIS上Yii2的url路由美化问题”

第二 解决了 “在IIS环境下,yii2web项目如果web目录下有多个应用的话,如何url路由美化的问题”。经过测试,如果我只配置(这个规则是导入web目录下的.htaaccess文件):

                 <rule name="已导入的规则 1"><match url="^(.*)$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /><add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /></conditions><action type="Rewrite" url="index.php/{R:1}" /></rule>

但是问题来了,我web下还有一个wechat目录,用于微网站的使用。在我的测试中,发现我们项目上使用的已经美化的url路径直接报错“404”,后面经过我们的调整,然后就把配置改成:

        <rewrite><rules><rule name="wechat"><match url="^\/wechat\/(.*)$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /><add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /></conditions><action type="Rewrite" url="/wechat/index.php/{R:1}" /></rule><rule name="已导入的规则 1"><match url="^(.*)$" ignoreCase="false" /><conditions logicalGrouping="MatchAll"><add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /><add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /></conditions><action type="Rewrite" url="index.php/{R:1}" /></rule></rules></rewrite>

如果把这两个规则换个位置的话,结果会发现微网站的美化地址又是404

我这里解释下原因:规则应该是从上往下配置,选择最优配置。

最后总结下:本文说明如何在IIS环境下配置php项目以及在iis优化yii2的url路由问题

/********************************************************2019年-06-02**********************************************************************************************************************************************************************/

哇,已经有两万的阅读了,看来iis还是很厉害的了。今天帮朋友处理window iis 管理php网站,又记住了几个常用的配置。于是乎,就上来更新下博客,便于后期操作。

1.文章上面的“处理程序映射”都是针对某个网站的配置的,其实更通用的方式是在

配置。同时我们可以配置多个php版本。

2.程序映射还可以使用脚本映射,对于脚本映射需要下载 php版本对应的isapi扩展,例如:php5isapi.dll,但是这个操作我个人不推荐使用,好像只有早期的版本可以支持。我在这里说明,是因为有可能会遇到有些老项目人家部署php时,是这么干的,就像今天我帮朋友处理一样,那上面有个项目就是这样干的

3.处理程序映射的时候,有个请求限制,可以将设置改为文件和文件夹

4.还可以下载phpmanager,用于管理php的配置

/********************************************************2019年-06-11*********************************************************************************************************************************************************************/

  今天更新一下phpManager的使用说明,

  问题:当安装一个php版本之后,我们试着添加一份php.ini[修改php.ini.production or php.ini.development],然后重启iis,然后运行项目【譬如:phpmyadmin】,这时你会发现,缺少扩展,可是你配置文件已经开启了扩展,那么问题出在哪呢?

  解答:

      1、其实windows 默认安装的话, Loaded Configuration File 即读取php.ini配置文件的路径。使用IIS,那就是一定要把 PHP.INI 放在 Windows 的系統路径下 (C:/WINDOWS 或 C:/WINNT) 。所以你修改你php所在目录下的配置文件是没有起到作用的,必须将文件复制到对应目录下 (参考:https://blog.csdn.net/letian003/article/details/5995856)。

      2、那么这个时候phpManager就派上用场了,我们可以在https://www.iis.net/downloads/community/2010/09/php-manager-for-iis-7 官网去下载对应iis版本的phpManager 

      3、下载完成,重启iis会发现phpManager在里面了,双击PHP Manager后,点击“Register new PHP Version”,然后选择好php目录中的php-cgi.exe,然后php.ini就会为适合IIS7.5的配置默认给你生成好了

  

---------------------
作者:yangboom
来源:CNBLOGS
原文:https://www.cnblogs.com/YangJieCheng/p/8119505.html
版权声明:本文为作者原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/admans/p/11109393.html

[转]iis部署php项目相关推荐

  1. 这应该是全网最详细的IIS部署Django项目流程了

    本文从0开始介绍IIS上部署Django项目的整体流程,以及可能会遇到的一些坑等等 安装IIS 1.首先打开服务器管理器,点击添加角色和功能.勾选Web服务器(IIS),并IIS下所有功能全部勾选,之 ...

  2. php项目上传到iis,iis部署php项目

    今天跟着学习了如何在IIS下部署php项目,操做很简单,记录一下步骤!php 1.启动iis服务器 最后点击肯定就完成了web 2.打开iis 点击进入便可windows 3.建立网站 进入添加网站. ...

  3. windows iis 部署 django项目

    确保已经下再好 IIS djnago 3.0.1 python 3.7.9 Windows10 1.部署环境 安装wfastcgi包(以管理员身份安装) pip install wfastcgi 检验 ...

  4. php项目上传到iis,[转]iis部署php项目

    如果把这两个规则换个位置的话,结果会发现微网站的美化地址又是404 我这里解释下原因:规则应该是从上往下配置,选择最优配置. 最后总结下:本文说明如何在IIS环境下配置php项目以及在iis优化yii ...

  5. 项目部署到tomcat6.0启动成功后访问页面报500_.net core IIS部署教程

    今天上午基于.net core做了一个简单的Web Api的Demo,练习一下IIS部署,本以为很简单,没想到遇到了很多坑,折腾了大半天才部署成功,简单记录一下,以供大家参考. 1.发布项目 2.下载 ...

  6. 解决 ASP.NET Core 部署到 IIS,更新项目时文件夹正在使用错误

    前言 虽然 ASP.NET Core 应用程序是跨平台的,但我们还是经常将它部署到 Windows 的 IIS 下. 当 ASP.NET Core 站点运行时,它会锁定正在使用的程序集,如果这时向站点 ...

  7. IIS 部署.NET Core项目时出现HTTP 错误 500.19,错误代码:0x8007000d

    IIS 部署.NET Core项目时出现HTTP 错误 500.19,错误代码:0x8007000d 解决方案: 1.打开IIS按照步骤点击红框 2.查看模块中是否存在AspNetCoreModule ...

  8. IIS部署时提示:InvalidOperationException:未能映射路径“/”

    场景 在使用IIS部署ASP.NET的Web项目时提示: InvalidOperationException:未能映射路径"/" 注: 博客: https://blog.csdn. ...

  9. windows2008R2+IIS部署python Django的web环境

    windows2008R2+IIS部署python Django的web环境 这篇文章写得非常好,非常仔细,作者把所有的坑都明确标识出来,可以少走很多弯路.感谢作者 潇洒哥Kahn 的辛苦付出. 这里 ...

最新文章

  1. linux高可用集群(HA)原理详解
  2. 永磁直驱风力发电机结构图_国内首台10MW海上永磁直驱风力发电机研制成功
  3. python tableview添加内容_如何在Python PyQt4 TableView中以编程方式更改/更新数据?
  4. MongoDB最佳实践
  5. 微软2011年10月最有价值专家(MVP)名单 51CTO十三位用户当选
  6. javaparser
  7. 只需简单一步,android自带的示例程序 BluetoothChat 变蓝牙串口助手
  8. Python利用 Django开发网站
  9. 程序员是不是青春饭?年纪大了何去何从
  10. docker 配置 CA验证
  11. Python度分秒与度的互转
  12. 【bzoj3240 洛谷P1397】矩阵游戏[NOI2013](矩阵乘法+卡常)
  13. 【MM32F5270开发板试用】定制MicroPython及读取MPU6050数据到OLED1306
  14. 伽卡他卡学生端去捆绑版(LikeWendy制作)
  15. TCAM路由器查表技术分析
  16. 拼多多关键词测试软件,拼多多图片怎么测试?有哪些步骤?
  17. c语言比率分布 函数 rate(m),R语言中统计分布和模拟_R语言培训
  18. 拼车 vs 乘坐公交
  19. Linux实时调度策略(SCHED_RR)和CFS(SCHED_OTHER)之间的区别
  20. txt文件导入excel

热门文章

  1. 为什么不能在init和dealloc函数中使用accessor方法
  2. [leetcode]Divide Two Integers
  3. HTML5标签的语义认知和理解
  4. Python中的sorted函数以及operator.itemgetter函数
  5. 矩阵的掩模操作(锐化举例)
  6. OpenMP: OpenMP编程指南
  7. PCANet --- 用于图像分类的深度学习基准
  8. 支持Android4.0以下webp的使用
  9. 医疗AI技术火热,但其商业模式的落脚点究竟在哪
  10. 替代jquery1.9版本以前的toggle事件函数(开关)