window环境配置多版本的php

下载

  • nginx
  • php(多个版本)
  • composer
  • RunHiddenConsole(这个是做关闭命令行用的)

    以上文件自己找资源下载,比较懒,就不提供下载链接了

配置

目录结构

// nginx 目录
D:\server\bin\nginx 

// php 目录,此目录加到环境变量 PATH
D:\server\bin\php
// 以下是各版本的 php 目录,什么版本以你自己下载的为准
D:\server\bin\php\php5.6.32
D:\server\bin\php\php7.3.14
D:\server\bin\php\php7.4.27
D:\server\bin\php\php8.1.7

// 习惯存放代码的目录
D:\server\www

记得将 D:\server\bin\php 加到环境变量里

新建 php 执行文件

D:\server\bin\php 目录下新建 php.bat 文件,内容如下:

@echo off
REM 根据第一个参数判断执行哪个版本的 php
if \"%1\"==\"56\" set phpPath=D:\server\bin\php\php5.6.32
if \"%1\"==\"73\" set phpPath=D:\server\bin\php\php7.3.14
if \"%1\"==\"74\" set phpPath=D:\server\bin\php\php7.4.27
if \"%1\"==\"81\" set phpPath=D:\server\bin\php\php8.1.7

@ %phpPath%\php.exe -c %phpPath%\php.ini %2 %3 %4 %5 %6 %7 %8 %9

保存后,打开命令行,输入 php 73 -v 测试是否配置成功,不成功请检查环境变量,及 php.ini 文件是否正确配置。如:

PS C:\Users\Administrator> php 73 -v

配置 composer

windows 安装的 composer 一般会有 composer.phar 文件,一般在 php 目录里,把它复制到 D:\server\bin\php 目录下。同时在该目录下新建 composer.bat,如果已经在原 php 目录下,建议删除,避免冲突。composer.bat 写入如下内容:

@php %1 "%~dp0composer.phar" %2 %3 %4 %5 %6 %7 %8 %9 

运行命令 composer 81 -V 测试,如:

PS C:\Users\Administrator> composer 81 -V

再强调一次,把你们之前保存在环境变量的 php 目录删掉,不然可能会找错 php 命令!!!

配置 nginx

把下载好的 RunHiddenConsole.exe 放在 D:\server\bin 目录下,并在该目录下新建两个文件 server_start.batserver_end.bat,内容分别如下:

@echo off
set php5_home=D:/server/bin/php/php5.6.32
set php73_home=D:/server/bin/php/php7.3.14
set php74_home=D:/server/bin/php/php7.4.27
set php81_home=D:/server/bin/php/php8.1.7
set nginx_home=D:/server/bin/nginx

REM 每个进程处理的最大请求数,或设置为 Windows 环境变量
set PHP_FCGI_MAX_REQUESTS=1000

echo Starting PHP FastCGI...
RunHiddenConsole %php5_home%/php-cgi.exe -b 127.0.0.1:9005 -c %php5_home%/php.ini
RunHiddenConsole %php74_home%/php-cgi.exe -b 127.0.0.1:9074 -c %php74_home%/php.ini
RunHiddenConsole %php73_home%/php-cgi.exe -b 127.0.0.1:9073 -c %php73_home%/php.ini
RunHiddenConsole %php81_home%/php-cgi.exe -b 127.0.0.1:9081 -c %php81_home%/php.ini

echo Starting nginx...
RunHiddenConsole %nginx_home%/nginx.exe -p %nginx_home%
@echo off
echo Stopping nginx...
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI...
taskkill /F /IM php-cgi.exe > nul
exit

以上配置的端口随各位喜欢,只要不被占用就行。nginx 的配置就不贴出来了,不是本篇重点,毕竟无非就改个 fastcgi_pass 的端口而已。现在你可以选择双击 server_start.bat 来启动 nginx 服务,然后双击 server_end.bat 关闭。当然,你也可以将 D:\server\bin 也放到环境变量,然后启动命令行 server_startserver_end 来开关。

命令行启动关闭我没试过,哈哈~

结语

没啥总结的,给个小贴士吧 win+s 并输入 env 然后回车,就能打开环境变量的配置了,win10后能用!

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!