我找到了一个解决方案,只需一个Xampp安装即可快速更改PHP版本从5.6,7.0和7.1。
我目前正在使用它在Windows本地开发而不会出现问题,数据库保持不变,还有Apache httpd-vhosts.conf配置文件:这允许快速轻松地更改PHP版本。
从ApacheFriends官方网站下载最新的3个版本的Xampp(控制面板3.2.2)的Windows便携式版本:
xampp-portable-win32-7.1.7-0-VC14.zip
xampp-portable-win32-7.0.21-0-VC14.zip
xampp-portable-win32-5.6.31-0-VC11.zip
解压缩 C 中的 Xampp win32-7.1.7 版本:\
将 C:\xampp\php 文件夹重命名为 C:\xampp\php-7.1.7
从 Xampp win32-7.0.21 版本
中提取 \xampp\php 文件夹到 C:\xampp\php
,然后将其重命名为 C:\xampp\php-7.0.21
从 Xampp win32-5.6.31 版本
中提取 \xampp\php 文件夹到 C:\xampp\php
,然后将其重命名为 C:\xampp\php-5.6.31
转到 C:\xampp\apache\conf\extra
并在 httpd-xampp-php-7.conf 中重命名 httpd-xampp.conf 文件
从 Xampp win32-5.6.31 版本中提取 \xampp\apache\conf\extra\httpd-xampp.conf 文件到 C:\xampp\apache\conf\extra\httpd-xampp.conf
,然后将其重命名为 httpd-xampp-php-5.conf
在 C:\xampp** 中创建一个名为“**php-switch”的新文件夹,并创建 3 个.bat文件,每个文件对应于要管理的每个 PHP 版本。
以下是要包含在各个文件中的代码:
set-php-5.6.bat
@echo off
rmdir C:\xampp\php
mklink /J C:\xampp\php C:\xampp\php-5.6.31
del C:\xampp\apache\conf\extra\httpd-xampp.conf
copy C:\xampp\apache\conf\extra\httpd-xampp-php-5.conf C:\xampp\apache\conf\extra\httpd-xampp.conf
echo The version of PHP 5.6.31 is set
pause
set-php-7.0.bat
@echo off
rmdir C:\xampp\php
mklink /J C:\xampp\php C:\xampp\php-7.0.21
del C:\xampp\apache\conf\extra\httpd-xampp.conf
copy C:\xampp\apache\conf\extra\httpd-xampp-php-7.conf C:\xampp\apache\conf\extra\httpd-xampp.conf
echo The version of PHP 7.0.21 is set
pause
set-php-7.1.bat
@echo off
rmdir C:\xampp\php
mklink /J C:\xampp\php C:\xampp\php-7.1.7
del C:\xampp\apache\conf\extra\httpd-xampp.conf
copy C:\xampp\apache\conf\extra\httpd-xampp-php-7.conf C:\xampp\apache\conf\extra\httpd-xampp.conf
echo The version of PHP 7.1.7 is set
pause
好吧,是时候测试一切是否正常了:
- 运行您要设置的PHP版本的.bat文件(例如set-php-7.1.bat)
- 启动Xampp控制面板并启动Apache
- 通过转到 http://localhost/dashboard/phpinfo.php 页面在本地检查PHP实时版本
要更改PHP版本:
- 从Xampp控制面板停止Apache
- 运行.bat文件以更改PHP版本(例如set-php-5.6.bat)
- 从Xampp控制面板启动Apache
- 通过转到 http://localhost/dashboard/phpinfo.php 页面在本地检查PHP实时版本
考虑:
与在单独的文件夹中安装多个版本的 Xampp 相比,此解决方案只允许有一个 Xampp 控制面板,并且只更改 PHP 版本,同时保持 c:\xampp\apache\conf\extra\httpd-vhosts.conf 文件中的 batabase 和任何 Apache 自定义项不变。
此外,此解决方案可以与Linux和Mac配合使用,只需将.bat文件(及其命令)更改为Linux的.sh和Mac文件的.command(我个人没有在Linux和Mac上运行测试,但我希望它能毫无问题地完成)。