You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在XAMPP中将PHP从7.0.9升级至7.2?能否共存多版本?

我来帮你搞定XAMPP升级PHP到7.2以及多版本共存的问题,步骤都给你整理好了👇

升级XAMPP(Lampp)中的PHP到7.2版本

以下是Ubuntu环境下亲测可行的操作步骤,放心跟着来:

步骤1:先停掉XAMPP服务

升级前必须确保XAMPP没在运行,不然文件被占用会搞出问题:

sudo /opt/lampp/lampp stop

步骤2:备份当前的PHP目录

这一步非常重要!万一升级出问题,咱们还能一键恢复回去:

sudo mv /opt/lampp/php /opt/lampp/php-7.0.9-backup

步骤3:下载并提取兼容的PHP 7.2包

咱们不用自己编译,直接拿Apache Friends官方编译好的XAMPP配套PHP包就行:

  1. 去Apache Friends的归档页面找对应你系统架构的XAMPP 7.2.x版本(比如x86_64架构就选xampp-linux-x64-7.2.34-0.tar.gz这类)
  2. 下载后解压到本地:
tar -xzf xampp-linux-x64-7.2.34-0.tar.gz
  1. 把解压出来的lampp/php目录复制到你的XAMPP安装目录里:
sudo cp -r xampp-linux-x64-7.2.34-0/lampp/php /opt/lampp/

步骤4:更新bin目录下的符号链接

XAMPP的bin目录里有几个指向PHP的快捷链接,得换成新的7.2版本的:

cd /opt/lampp/bin
sudo rm php php-cgi php-cli phpize
sudo ln -s ../php/bin/php php
sudo ln -s ../php/bin/php-cgi php-cgi
sudo ln -s ../php/bin/php-cli php-cli
sudo ln -s ../php/bin/phpize phpize

步骤5:验证升级是否成功

启动XAMPP,然后访问http://localhost/dashboard/phpinfo.php查看版本号是不是变成7.2.x了:

sudo /opt/lampp/lampp start

要是出问题了也别怕,按下面的步骤恢复备份:

sudo /opt/lampp/lampp stop
sudo rm -r /opt/lampp/php
sudo mv /opt/lampp/php-7.0.9-backup /opt/lampp/php
# 再把符号链接恢复回去
cd /opt/lampp/bin
sudo rm php php-cgi php-cli phpize
sudo ln -s ../php/bin/php php
sudo ln -s ../php/bin/php-cgi php-cgi
sudo ln -s ../php/bin/php-cli php-cli
sudo ln -s ../php/bin/phpize phpize
sudo /opt/lampp/lampp start
在XAMPP中安装多个PHP版本的方法

XAMPP本身没自带多版本切换功能,但咱们可以手动配置实现,两种方法给你参考:

方法1:虚拟主机+独立PHP目录(最推荐)

这个方法能让不同的站点用不同的PHP版本,非常实用:

  1. 先把各个版本的PHP都放在单独的目录里,比如/opt/lampp/php-7.0.9(就是你之前备份的那个)、/opt/lampp/php-7.2
  2. 编辑Apache的虚拟主机配置文件/opt/lampp/etc/extra/httpd-vhosts.conf,给每个站点指定对应的PHP版本:
    • PHP-FPM模式(性能更好):先确保每个PHP版本的FPM服务都配置好了,监听不同的端口(比如7.2用9072,7.0用9070),然后在虚拟主机里加这段配置:
      <VirtualHost *:80>
          ServerName site1.local
          DocumentRoot "/opt/lampp/htdocs/site1"
          <Directory "/opt/lampp/htdocs/site1">
              AllowOverride All
              Require all granted
          </Directory>
          # 这里的9072对应PHP7.2的FPM端口,根据你的配置调整
          ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9072/opt/lampp/htdocs/site1/$1
      </VirtualHost>
      
    • CGI模式(配置更简单):如果不想搞FPM,用CGI也可以,给站点加这段:
      <VirtualHost *:80>
          ServerName site2.local
          DocumentRoot "/opt/lampp/htdocs/site2"
          <Directory "/opt/lampp/htdocs/site2">
              AllowOverride All
              Require all granted
          </Directory>
          Action php70-cgi /php70-cgi
          ScriptAlias /php70-cgi /opt/lampp/php-7.0.9/bin/php-cgi
          AddHandler php70-cgi .php
      </VirtualHost>
      
  3. 重启Apache生效:
sudo /opt/lampp/lampp restart apache

方法2:第三方多版本管理工具

有一些第三方工具比如xampp-multi-php可以帮你一键管理多版本,但要注意它的兼容性,得确保支持你的Ubuntu和XAMPP版本。不过我还是更推荐手动配置虚拟主机的方式,更可控,不容易出问题。

内容的提问来源于stack exchange,提问作者Attila Naghi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:37:41