PHP版本众多,彼此之间兼容性不好,不同程序经常需要的不同版本的PHP版本。这里介绍如何使用NGINX让不同版本的PHP共存。

软件下载地址

与nginx整合的php需要选择Non Thread Safe(nts)的免安装版本。

  • NGINX下载。本例下载的是nginx/Windows-1.10.2。下载后解压即可。
  • PHP7.0下载。本例下载的是PHP 7.0 (7.0.14) VC14 x64 Non Thread Safe。下载后解压即可。
  • PHP5.2下载。本例下载的是php-5.2.17-nts-Win32-VC6-x86.zip。下载后解压即可。
  • RunHiddenConsole,用于启动php-cgi,可以实现关闭窗口依然在后台运行。解压后复制RunHiddenConsole.exe到nginx的根目录(nginx.exe文件所在目录)。

配置NGINX

修改nginx.conf配置文件。分别将请求发送到9000、9001端口。

server {
listen 80;
server_name www.mydomain.com; location / {
root D:/php_program;
index index.php index.html index.htm;
} location ~ \.php$ {
root D:/php_program;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
} server {
listen 80;
server_name www.mydomain1.com; location / {
root D:/php_program1;
index index.php index.html index.htm;
} location ~ \.php$ {
root D:/php_program1;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

配置PHP

复制php.ini-recommendedphp.ini-developmentphp.ini

;设置php的ext路径,通常需要用绝对路径。
extension_dir = "D:/php-5.2.17-nts-Win32-VC6-x86/ext" ;提交数据最大限制
post_max_size = 30M
;上传文件的最大限制。
upload_max_filesize = 100M ;通常要开启的扩展,php7.0无php_mysql.dll、php_pdo.dll,无需开启这两项。
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll ;php与nginx整合必须开启
cgi.fix_pathinfo=1

启动脚本

在nginx根目录(nginx.exe文件所在目录)新建启动脚本start_nginx.bat。两个版本的php分别用不同端口。

@ECHO OFF

ECHO Starting PHP5.2 FastCGI...
RunHiddenConsole.exe D:/php-5.2.17-nts-Win32-VC6-x86/php-cgi.exe -b 127.0.0.1:9000
ECHO Starting PHP7.0 FastCGI...
RunHiddenConsole.exe D:/php-7.0.14-nts-Win32-VC14-x64/php-cgi.exe -b 127.0.0.1:9001 ECHO Starting Nginx...
start nginx

在nginx目录新建关闭脚本stop_nginx.bat。两个php-cgi用一个命令即可关闭。

@ECHO OFF

ECHO Stoping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul ECHO Stoping Nginx...
taskkill /F /IM nginx.exe > nul

Windows环境下搭建Nginx和多版本PHP共存的更多相关文章

  1. 在Windows环境下搭建Nginx文件服务器(简单实用版)

    为了解决项目组内容应用,打算把本地的e:tools目录共享出来,具体操作步骤如下1.下载安装包:http://nginx.org/download/nginx-1.9.15.zip2.解压缩3.修改配 ...

  2. windows环境下基于nginx搭建rtmp服务器

    基于nginx搭建rtmp服务器需要引入rtmp模块,引入之后需重新编译nginx linux环境几个命令行就能实现编译,笔者未尝试,网上有很多教程. windows环境还需要安装一系列的编译环境,例 ...

  3. Windows 环境下基于 nginx 的本地 PyPI 源

    Windows 环境下基于 nginx 的本地 PyPI 源的搭建: 1.登录 nginx 官网,下载安装包

  4. 【大数据系列】windows环境下搭建hadoop开发环境使用api进行基本操作

    前言 搭建完hadoop集群之后在windows环境下搭建java项目进行测试 操作hdfs中的文件 版本一 package com.slp.hadoop274.hdfs; import java.i ...

  5. Apache Nifi在Windows环境下搭建伪群集及证书登录

    代码地址如下:http://www.demodashi.com/demo/11986.html 前些时间做了关于Apache Nifi分布式集群的搭建分享,但很多时候要搭建分布式集群机器资源是个问题, ...

  6. Linux和Windows环境下安装Nginx

    Nginx的安装 windows环境下安装Nginx 安装 Nginx 的下载地址如下: http://nginx.org/en/download.html 选择时尽量选择 Stable 稳定版本,点 ...

  7. freeSSHD在windows环境下搭建SFTP服务器

    freeSSHD在windows环境下搭建SFTP服务器 0 建议现在windows环境下安装cygwin,否则在windows环境下cmd模式使用不了sftp去连接,可以利用win scp去测试连接 ...

  8. php-cgi和php-fpm,Windows环境下解决Nginx+php并发访问阻塞问题。

    php-cgi 是运行php,php-fpm是守护php-cgi进程 nginx配置目录运行php        location  ~ \.php$        {                 ...

  9. Windows环境下搭建MosQuitto服务器

    Windows环境下搭建MosQuitto服务器 2018年04月16日 22:00:01 wistronpj 阅读数:1185  摘自:https://blog.csdn.net/pjlxm/art ...

随机推荐

  1. [.NET开发] C#连接MySQL的两个简单代码示例

    实现代码一.使用的是mysql自带的驱动安装一下即可 这是一个简单的例子. 在这里有个问题:dataset如果没设主键的话,可能会引起一些对数库操作的问题,比如会造成updata出现错误. stati ...

  2. ArcGIS API for Windows Phone开发实例(4):点击查看超市信息 --- 关于使用InforWindow

    菩提老王的葡萄架:作品 地址:http://blog.newnaw.com/?p=696

  3. 看起来很懵的java内存加载面试题

    源代码如下,求结果 public class MemoryAnalyse { public static int k = 0; public static MemoryAnalyse t1 = new ...

  4. Codeforces Round #449 (Div. 1)C - Willem, Chtholly and Seniorious

    ODT(主要特征就是推平一段区间) 其实就是用set来维护三元组,因为数据随机所以可以证明复杂度不超过O(NlogN),其他的都是暴力维护 主要操作是split,把区间分成两个,用lowerbound ...

  5. 处理Oracle EBS R12登录首页跳转出现unexpected error问题(转)

    原文地址: 处理Oracle EBS R12登录首页跳转出现unexpected error问题 经上网搜索,造成此问题的问题有很多,如内存不足.系统参数配置不当.程序代码.系统表空间不足等原因.查询 ...

  6. 37. Sudoku Solver *HARD*

    Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by th ...

  7. Mybatis学习总结--------Mybatis <where>标签 (九)

      <select id="findActiveBlogLike" resultType="Blog"> SELECT * FROM BLOG WH ...

  8. scrapy-redis基础和介绍

    一.scrapy-redis(0.6)依赖的环境 Scrapy >= 1.0.0                #终于过了1版本,这个太重要了,总算坑小了点,感谢那些为了解决各种scrapy与s ...

  9. 《Python》 property、classmethod、staticmethod、isinstance、issubclass

    一.property property是一个装饰器函数 装饰器函数的使用方法:在函数.方法.类的上面一行直接@装饰器的名字 装饰器的分类: 1.装饰函数 2.装饰方法:property 3.装饰类 i ...

  10. Arithmometer: A Node.js implementation

    Foreword: This project is a part of pair programming task. We implement an command-line based arithm ...