我们使用PHP 7.0运行XAMPP,因为我们的新产品需要PHP 7。

但也有一些旧的项目使用mysql_connect等函数。这些在PHP 7.0中被删除。

那么,是否有一种方法可以轻松地在XAMPP中更改PHP版本?

注意:请不要建议将旧项目升级到与新版本兼容,因为我无法做到这一点 这些决定是我作为开发人员(只是一名员工)无法得到的。


当前回答

在命令提示符窗口(cmd.exe)中运行此命令。

set PATH=C:\xampp\php;%PATH%

根据安装PHP 7的位置进行更改。

其他回答

我最近也遇到了同样的情况,我用以下步骤解决了它:

第一步:从php.net下载nts(非线程安全)版本的PHP压缩文件。然后将其解压到xampp文件夹中,与默认的php文件夹相同。xampp文件夹现在看起来是这样的:

步骤2:

打开下载的php文件夹。复制文件php.ini-development到php.ini,并用任何编辑器(notepad, notepadd++…)打开它。按下Ctrl+F组合键并找到text: extension_dir = "ext",然后删除该行开头的分号来取消该行的注释。

执行同样的操作取消注释以下几行:extension=curl extension=ftp extension=fileinfo extension=mysqli extension=openssl extension=pdo_mysql

步骤3:

进入xampp文件夹,打开httpd-xampp.conf文件,路径为{disk_name}/xampp/apache/conf/extra/httpd-xampp.conf(将{磁盘名称}替换为安装xampp的驱动器磁盘)。 例如,我将xampp安装在D盘,这是打开文件的路径 httpd-xampp.conf现在是D:\xampp\apache\conf\extra\httpd-xampp.conf。 或者更简单地说,打开xampp控制面板,单击apache的配置按钮,然后单击apache (httpd-xampp.conf)。

接下来,在httpd-xampp.conf文件的末尾添加以下代码,然后将/php8_1和D:/xampp/php8_1/更改为php文件夹的名称和路径。

ScriptAlias /php8_1/ "D:/xampp/php8_1/" 
Action application/x-httpd-php8_1-cgi "/php8_1/php-cgi.exe" 
<Directory "D:/xampp/php8_1">
       AllowOverride None
       Options None
       Require all denied
       <Files "php-cgi.exe">
           Require all granted
       </Files>     SetEnv PHPRC "D:/xampp/php8_1" 
</Directory> 

例如:如果你的php文件夹名称是php6_5,文件夹路径是C:/xampp/php6_5/,那么代码将是:

ScriptAlias /php6_5 "C:/xampp/php6_5/"
Action application/x-httpd-php6_5-cgi "/php6_5/php-cgi.exe"
<Directory "C:/xampp/php6_5">
     AllowOverride None
     Options None
     Require all denied
        <Files "php-cgi.exe">
            Require all granted
        </Files>
        SetEnv PHPRC "C:/xampp/php6_5/"
 </Directory>

注意:如果您愿意,可以在步骤1到3之后向XAMPP安装中添加更多版本的PHP。

步骤4:添加目录以运行特定的PHP版本

只需在配置文件(步骤3中的httpd-xamp .conf)底部添加以下内容来设置目录。

<Directory "C:\xampp\htdocs\my_project1">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php5_6-cgi //replace php5_6 with your version php
    </FilesMatch>
</Directory>

<Directory "C:\xampp\htdocs\my_project2">
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php8_1-cgi //replace php8_1with your version php
    </FilesMatch>
</Directory>

你可以在下面的图片中看到说明

步骤5:保存并重新启动XAMPP

保存并关闭配置文件。从xampp控制面板重新启动apache。如果要检查配置是否成功,可以创建index.php文件和<?PHP echo phpinfo()检查PHP版本。

现在,我将展示我的结果

是的,你可以。我假设您已经安装了xampp。所以,

关闭所有xampp实例。使用任务管理器停止apache和mysqld。 然后将xampp重命名为xampp1或xampp名称之后的其他名称。 现在下载另一个xampp版本。只创建文件夹名xampp。在那里安装下载的xampp。 现在,根据您需求的xampp版本,只需将目标文件夹重命名为xampp,将其他文件夹重命名为不同的名称。

这就是我安装多个xampp的工作方式

你可以像我一样下载并安装两个不同的xampps:(第一个是php7,第二个是php5)

如果你不想这样做,我建议你使用wamp并像这里显示的那样更改版本。

你可以下载你需要的任何版本的PHP,并把它们放在自己的目录中。

c: \ php5 \

c: \ php7 \

你所需要做的就是告诉你的web服务器(Apache)要使用哪个版本的PHP,这是通过加载适当的模块来完成的。在Apache中,你可以通过找到httpd.conf文件,然后编辑相应的行来做到这一点:

LoadModule php7_module c:\php7\libphp7.so

当然,你必须找出正确的路径——这只是为了说明。

保存httpd.conf并重新启动服务器。注意,如果您不重新启动它,更改将不会生效。

没有GUI开关可以做到这一点,你需要编辑.conf文件,然后重新启动Apache。这样做只需要几秒钟,你甚至可以注释掉一个版本,这样“切换”只需要几次按键,例如。

使用PHP 5:

LoadModule php5_module c:\php5\libphp5.so
#LoadModule php7_module c:\php7\libphp7.so

使用PHP 7:

#LoadModule php5_module c:\php5\libphp5.so
LoadModule php7_module c:\php7\libphp7.so

您不需要多个版本的XAMPP,也不需要双启动,也不需要使用不同的机器,也不需要任何其他提出复杂解决方案的“解决方案”。OP希望使用XAMPP,并告诉它使用哪个版本的PHP。这是最快和最有效的方法,并且只需要安装一次XAMPP。

Edit 1-Nov-2017: Apparently some people are saying there's no .so files on Windows. The answer I gave was adapted from how I have things set up on my Mac (which does use .so files instead of .dll). The principle of the answer however is still exactly correct. You are using Apache's configuration file, httpd.conf to specify where the PHP module (.so or .dll) is located on your system. So the only difference for Windows would be the file name and/or path location. The answer I've given is also correct for a vanilla installation of Apache/PHP (without XAMPP at all).

我只是想分享我的新发现:https://laragon.org/docs/index.html

我刚用了一个小时,看起来很不错。

你可以添加和切换PHP版本, 它有一键安装Wordpress, laravel等 它自动创建vhosts与每个应用程序的名称(例如。appname.test) 你可以选择你当前的htdocs文件夹作为WWW根文件夹 您只需添加其他PHP版本,将它们提取到文件夹中,并从列表中选择它们 它会在每次更改后自动重载apache 添加phpMyAdmin就像下载它一样简单,并把它放在{LARAGON_DIR}\etc\apps\phpMyAdmin等…

拉拉贡文档

如何添加另一个PHP版本的Laragon

如何添加phpMyAdmin到Laragon


我和拉拉贡没有任何关系。刚刚在谷歌上找到它,寻找“XAMPP Windows替代品”