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. asp.net Core MVC + form validation + ajax form 笔记

    asp.net Core MVC 有特别处理form,controller可以自己处理model的验证,最大的优势是写form时可以少写代码 先了解tag helper ,这东西就是element上的 ...

  2. 手把手教你开发jquery插件(三)

    First, i want to add options to Tabs constructor like this: var tabs = $("div.tabs").tabs( ...

  3. C#实现在应用程序间发送消息的方法示例

    本文实例讲述了C#实现在应用程序间发送消息的方法.分享给大家供大家参考,具体如下: 首先建立两个C#应用程序项目. 第一个项目包含一个Windows Form(Form1),在Form1上有一个But ...

  4. English trip V1 - 7.My dream car 我梦想的车 Teacher:Lamb Key: famous for

    中华In this lesson you will learn to describe an object(目标). 课上内容(Lesson) famous for   以…著称,闻名 国家(名词)  ...

  5. English trip -- Review Unit3 Family 家人

    Words daughter grandfather grandmother husband wife uncle aunt brother sister Who is ...? Loki's ... ...

  6. codeforces 1042d//Petya and Array// Codeforces Round #510 (Div. 2)

    题意:给出一个数组,求其中和小于t的区间数. 先计算前缀和数组sum[i].对当前的sum[i],查询树状数组中有几个比(sum[i]-t)大的数,那么用sum[i]减它就是一个合法区间.再将当前的s ...

  7. Spring web flow的意义

    为什么要使用Spring web flow呢? 这里需要强调的一点就是,但凡一个技术的出现和流行,必有其适用的环境和存在的意义. Spring web flow加强了中央集权,这个该怎么理解呢?以往我 ...

  8. bzoj1834: [ZJOI2010]network 网络扩容 费用流

    bzoj1834 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用. 求: 1.在不扩容的情况下,1到N的最大流: 2.将1到N的最大流增加K所需的最小扩容 ...

  9. ubuntu svn二进制文件

    1. 查找2:04时间的日志文件和position. Ps:这里假设我找到的是 mysql-bin.000065 位置开始为1356. 2  复制最近的几个日志文件,从mysql-bin.000065 ...

  10. MySQL--Workbench表及表种数据导出

    MySQL--Workbench表及表种数据导出 1.-->点击Management,--->出现Navigator. 2.点击Date Export,选择导出的库. 3)选择库中的某个表 ...