如何安装XAMPP的多个版本?

我在我的机器上安装多个版本的XAMPP时遇到问题。 我目前正在使用1.7.7版并将其安装在/opt/lampp ,但我还需要安装以前的1.7.1版本。 所以我在/opt/lampp2下载并安装了1.7.1版本。

但是当我运行/opt/lampp2/lampp start命令启动1.7.1版本时,为什么XAMPP显示当前运行的版本是1.7.7 ,什么时候应该是1.7.1

该解决方案具有单独的目录,并创建到/opt/lampp的sym链接

保持1.7.7/opt/lampp.1_7_71.7.1/opt/lampp.1_7_1,您可以创建到/opt/lampp的sym链接。 根据版本选择,您可以更改sym链接。

但痛苦的是,如果你必须切换版本,你删除链接并重新创建一个新的链接。 所以为了避免这种情况,我找到了一个可以完成这项工作的脚本。

请参阅此文章以创建sym链接

脚本可以帮助您:

  • 提供XAMPP的可用版本选择(基于包含它们的文件夹名称,基于上面显示的模式),
  • 停止XAMPP服务器进程,
  • 删除现有的lampp软链接,
  • 创建一个新的软链接,指向包含所选XAMPP版本的文件夹。

资源

按照这个想法创建一个链接,我尝试使这个工作。 请记住,我不是专业人士,我正在寻找解决方案,并将此脚本自行制作并与您分享。

对于未来的问题,如果你想在Linux上安装2个版本的xampp,你必须安装:例如: /opt/lampp上的xampp php5然后将其重命名为/ opt / lampp5,然后对php7 bin安装程序(或tar)执行相同操作)并将其重命名为/ opt / lampp7。 然后将此代码复制到一个新的script.sh文件中,使其可写为chmod +x script.sh ,然后运行它$ ./script.sh$ ./script.sh 5 start这里是在ubuntu 16.04上正常运行的代码示例它只是一个简单的脚本,可以解决这类问题,因为在Windows上我们可以在安装步骤中完成。

 #!/bin/bash LAMPP_VERSION=$1 LAMPP_ACTION=$2 LAMPP="/opt/lampp" XAMPP=$LAMPP"/xampp" function stopall { sudo $XAMPP stopapache sudo $XAMPP stopmysql } function startall { sudo $XAMPP startapache sudo $XAMPP startmysql } function stopmysql { sudo $XAMPP stopmysql } function stopapache { sudo $XAMPP stopapache } function startmysql { sudo $XAMPP startmysql } function startapache { sudo $XAMPP startapache } function checklampplink { # check if exist a link and delete it if [[ -L "$LAMPP" && -d "$LAMPP" ]] then echo "$LAMPP is a symlink to a directory: try DELETE!" sudo rm -f $LAMPP else echo "NO $LAMPP LINK WAS FOUND!" fi # create a new link echo "try to create LAMPP link ..." cd /opt ln -s "$LAMPP$LAMPP_VERSION" "lampp" ## check if is created if [[ -L "$LAMPP" && -d "$LAMPP" ]]; then echo $LAMPP "created!" else echo "LINK not created! exit 1" exit 1 fi } function checkservices { # check if services exists and try to stop property PIDS_MYSQL=$(ps -C mysqld -C mysqld_safe -o pid=) PIDS_APACHE=$(ps -C /opt/lampp/bin/ -o pid=) if [ -n $PIDS_MYSQL ]; then stopmysql else echo "NO MYSQL TO KILL" fi if [ -n "$PIDS_APACHE" ]; then stopapache else echo "NO APACHE TO KILL" fi } ### begin ### #### # get an action if [ -z $LAMPP_ACTION ]; then echo echo "ACTION: ( start | stop | restart)?" read LAMPP_ACTION else echo "ACTION SET TO: "$LAMPP_ACTION fi # if action is stop exit if [ "$LAMPP_ACTION" == "stop" ]; then stopall exit 0 fi #### # get a version if [ -z $LAMPP_VERSION ]; then echo echo "VERSION: ( 5 | 7 )? " read LAMPP_VERSION else echo "VERSION SET TO: " $LAMPP_VERSION fi if [[ "$LAMPP_VERSION" = "5" || "$LAMPP_VERSION" = "7" ]]; then echo "GOOD version continue ..." else echo "Wrong version exit 1" exit 1 fi ## if action is start or restart do the same checkservices # check folder link checklampplink echo echo "Select an option to START:" echo "1) ALL current installed services on xampp" echo "2) Apache and Mysql - phpmyadmin" echo echo "Type enter to start option default ( 1 ) " read USER_START echo echo "Starting services ..." echo if [ -z $USER_START ]; then startapache startmysql else if [ "$USER_START" = "1" ]; then startall else startapache startmysql fi fi echo "Done"; exit 0 

如果此代码有任何语法问题,抱歉我只是粘贴在这里。 祝好运!