IIS7 中多个版本php共存的方法

2 篇文章 0 订阅

准备工作

由于项目久远,采用的是window+IIS+MySql+php5.4。由于本地使用laravel框架对php版本有要求,中间请教了大佬,想到多个php版本共存的方法。以下是本地测试环境:
一:下载phpstudy for iis,链接:https://www.xp.cn/wenda/402.html
二:下载IIS7,链接:http://www.downza.cn/baike-soft/2056.html#mxzdz
三:下载php7.1以上版本:链接:https://www.php.net/downloads
四:启动phpstudy,我这里启动时报未安装FastCGI,如遇到这个问题:

1、单击“开始”/“控制面板”/“程序”,选择“打开或关闭Windows功能”
2、在Windows 功能对话框中,选中“Internet信息服务”
3、选中CGI,点击确定
在这里插入图片描述
4、安装完成后,在控制面板里面,单击“管理工具”,双击“Internet 信息服务(IIS)管理器”,即可进入IIS界面。或通过phpstudy中的IIS管理器进入IIS界面。

配置多个版本php共存

1、打开IIS 7, IIS最上层>处理程序映射
在这里插入图片描述
2、右边 添加模块映射
在这里插入图片描述
3、在弹出的窗口中

路径写*.php 模块选FastCgiModule,可执行文件是php目录下的php-cgi.exe

名称随便填,为了好记可以填php版本名称,然后确定。
在这里插入图片描述
再添加几次 把多个版本的php都添加进去

4、由于是点IIS最上层添加,而不是点某个网站添加,所以每个网站目录不会自动生成一个web.config文件。我们可以自己添加一个utf-8编码的web.config文件放到网站目录下,用于调用不同版本的php,不管有没有多个版本的php,都需要这么一个web.config文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <remove name="php5.5.30" />
            <remove name="php7.0.3" />
            <remove name="php5.2.6" />
            <add name="php5.2.6" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="E:\php7.0.3\php-cgi.exe" resourceType="Unspecified" requireAccess="Script" />
        </handlers>
    </system.webServer>
</configuration>

PS:这里可能遇到两个问题?
问题一:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的(overrideModeDefault=“Deny”)…
解决方案:
因为 IIS 7 采用了更安全的 web.config 管理机制,默认情况下会锁住配置项不允许更改。

运行命令行

C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/handlers 。
其中的 handlers 是错误信息中红字显示的节点名称。
如果modules也被锁定,可以运行

C:\windows\system32\inetsrv\appcmd unlock config -section:system.webServer/modules

注意:cmd.exe要以管理员身份启动,在c:\windows\system32下找到cmd.exe,右键管理员启动,输入上面的命令即可。

问题二:IIS提示无法添加类型为"add"的重复集合项”错误
在这里插入图片描述
**解决方案:**打开php项目对应的文件夹,找到web.config。
在 add 前加入 <clear />
在这里插入图片描述
到此,多个版本php安装完成。
效果:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是宽宽呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值