IIS7 IIS8 中多个版本php共存的方法
最近又重回.,用回IIS。然后用到某个php开源项目,需要低版本的php,之前装的一个php5.5不能用,所以决定降一下版本,后面发现其实可以多个版本共用。于是打算分享下。分享之前网上先搜了下,有发现有人实现了,但方法不同,所以还是分享下:
我的电脑是w7 64位
php可以在官网下载http://wdows.php./download/,php 5.4之前的版本似乎没有了,旧版本我是其它地方找的。
我们将使用fastcgi模块,直接下载非线程安全(Non Thread Safe)的版本,效率比较高.x86是32位的,x64是64位的别下错了,然后点zip下载。
下载解压放到某个目录,比如
E:\php7.0.3\
E:\php5.5.30\
E:\php5.2.6\
php.i的配置这里就不说了,原来该怎么设置怎么设置。
步骤
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文件,内容如下
1
2
3
4
5
6
7
8
9
10
11
|
<? xml version="1.0" encodg="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" requireAess="Script" /> </ handlers > </ system.webServer > </ configuration > |
主要就是scriptProcessor(脚本处理器)路径不同,决定了调用了不同版本的php。
<remove name="php5.5.30" />也很重要,先把所有版本的php都移除一遍(这里的"name=" 就是之前填的名称)。再add name=,确保调到的是需要的版本。
注意:如果这边remove只有3个,而实际上你加了5个版本的php的话,为了确保调用到正确的版本,应该把另两个加进去。
然后就可以了。有新站的话就把这个web.config拷到站点的目录里,再修改下scriptProcessor的路径就可以了。
我这几个php共用的是一个MySql,版本是5.6.24,能正常使用。
由于php不同版本间是不怎么向后兼容的,比如php5.6以后不支持mysql_函数连接mysql数据库,只支持mysqli_和pdo_等,所以多版本共存还是比较有意义的。
网站设计
- 静宁会SEO的网站建设公司:全面提升您的网络影
- 提升在线业务的关键:选择最佳的丽水网站建设
- 浙江网站优化发展潜力如何
- 井研专业的网站建设公司:打造您的在线品牌
- 灵山SEO网站建设公司:提升您的在线业务表现
- 蒙城网站建设优化公司:提升您网站表现的理想
- 阳谷企业网站优化:提升线上业务力的关键
- 樟树专业的网站建设公司:打造您在线业务的坚
- 通河百度SEO排名的策略与技巧
- 重庆百度快照排名如何进行精准的客户引流
- 重庆百度快照排名
- 常宁便宜的建站公司:助您轻松打造在线业务
- 巫溪百度网站优化:提升网站曝光率与流量的关
- 湖北整站优化怎么做才能放大客户需求
- 闸北网站建设多少钱?全面解析与预算规划
- 辽宁企业网站优化怎么做电话营销