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.bat
和 server_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_start
或 server_end
来开关。
命令行启动关闭我没试过,哈哈~
结语
没啥总结的,给个小贴士吧 win+s
并输入 env
然后回车,就能打开环境变量的配置了,win10
后能用!
本作品采用《CC 协议》,转载必须注明作者和本文链接