在我的窗口中同时运行 php 5.x 和 php 7.0

2022-08-31 00:45:27

我为我的php项目制作了一个备份文件,然后卸载旧的.之后,我尝试安装最新的,并将旧xampp中的备份文件放入包括其数据库在内的新文件中。问题是,当我尝试运行旧文件时,我遇到了很多错误。似乎有很多代码对于新的php版本来说已经过时了。再次运行旧文件的最佳方法是什么?我想我可能会重新安装旧的xampp,但我也想使用最新的php版本。理想的做法是什么?我读过一些关于它的文章,但我没有找到关于这一点的明确解释。请帮忙。xampp(php 5.x.x)xampp version(php 7.0.1)


答案 1

我找到了一个解决方案,只需一个Xampp安装即可快速更改PHP版本从5.67.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上运行测试,但我希望它能毫无问题地完成)。


答案 2

推荐