zoukankan      html  css  js  c++  java
  • IIS7中多个版本php共存的方法

    php可以在官网下载http://windows.php.net/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.ini的配置这里就不说了,原来该怎么设置怎么设置。

    步骤

    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" 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.3php-cgi.exe" resourceType="Unspecified" requireAccess="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_*等,所以多版本共存还是比较有意义的。

  • 相关阅读:
    大型网站动态应用系统架构(转)
    [转]thinkphp在iis下的rewrite伪静态的配置方法
    [转]WEB安全编程技术规范(V1.0)
    『MXNet』第八弹_数据处理API_下_Image IO专题
    『TensorFlow』变量初始化
    『TensorFlow』线程控制器类&变量作用域
    『Python CoolBook』Cython_高效数组操作
    『Python CoolBook』Cython
    『流畅的Python』第5章笔记_一等函数
    『MXNet』第十弹_物体检测SSD
  • 原文地址:https://www.cnblogs.com/lezuw/p/11163534.html
Copyright © 2011-2022 走看看