在我的窗口中同时运行php5.x和php7.0


Running php 5.x and php 7.0 at the same time in my windows

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

我找到了一个解决方案,只需安装一个Xampp就可以快速将PHP版本从5.67.07.1更改。

我目前正在使用它与Windows进行本地开发,没有遇到任何问题,数据库保持不变,Apachehttpd vhosts.conf配置文件也保持不变:这允许快速轻松地更改PHP版本。

从ApacheFriends官方网站下载Xampp(控制面板3.2.2)的最新3个版本,适用于windows便携版:

示例便携式-win32-7.17-0-VC14.zip
示例便携式-win32-7.0.21-0-VC14.zip
示例便携式-win32-56.31-0-VC11.zip

解压缩C:''nbsp;中的Xampp win32-7.1.7版本
C:''examplep''php文件夹重命名为C:''examplep''pphp-7.1.7

来自Xampp win32-7.0.21版本
''xamp''php文件夹提取到C:''xamp''php
然后将其重命名为C:''examplep''php-7.0.21

来自Xampp win32-5.6.31版本
''xamp''php文件夹提取到C:''xamp''php
然后将其重命名为C:''examplep''php-5.6.31

转到C:''examplep''apache''conf''extra
并重命名httpd-xamp-php-7.conf中的http d-xamp.conf文件

从Xampp win32-5.6.31版本中,将''Xampp''apache''conf''extra''httpd-xamp.conf文件提取到C:''xamp''apache''conf''extra'' httpd-xamplep.conf
然后将其重命名为httpd-example-php-5.conf

C:''examplep**中,创建一个名为"**php switch"的新文件夹,并创建3个.bat文件,每个文件对应您想要管理的php版本。

以下是要包含在各个文件中的代码:

设置-php-56.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

设置-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版本:
-从Xampp控制面板停止Apache
-运行.bat文件以更改PHP版本(例如set-PHP-5.6.bat)
-从Xampp控制面板启动Apache
-通过转到http://localhost/dashboard/phpinfo.php页面

注意事项:

与在单独的文件夹中安装多个版本的Xampp相比,该解决方案允许只有一个Xampp控制面板,并且只更改PHP版本,同时保持C:''examplep''Apache''conf''extra''httpd-vhosts.conf文件中的batabase和任何Apache自定义项不变。

此外,这个解决方案可以在Linux和Mac上运行,只需将.bat文件(及其命令)更改为Linux的.sh文件和Mac的.command文件(我个人没有在Linux和Mac上运行测试,但我希望它能毫无问题地完成)。