1 votes

Comment installer plusieurs versions de XAMPP ?

J'ai de la difficulté à installer plusieurs versions de XAMPP sur ma machine. J'utilise actuellement la version 1.7.7 et l'a installé dans /opt/lampp mais j'ai également besoin d'installer la version précédente, à savoir la version 1.7.1 . J'ai donc téléchargé et installé la version 1.7.1 sur /opt/lampp2 .

Mais quand je cours /opt/lampp2/lampp start pour lancer la commande 1.7.1 pourquoi XAMPP indique-t-il que la version en cours d'exécution est la suivante 1.7.7 alors qu'il devrait être 1.7.1 ?

1voto

devav2 Points 33862

La solution est d'avoir des répertoires séparés et de créer un lien sym à /opt/lampp

Gardez 1.7.7 comme /opt/lampp.1_7_7 y 1.7.1 comme /opt/lampp.1_7_1 vous pouvez créer un lien sym vers /opt/lampp . En fonction du choix de la version, vous pouvez modifier le lien sym.

Mais la douleur est que si vous devez changer de version, vous devez supprimer le lien et en recréer un nouveau. Donc pour éviter cela, j'ai trouvé un script qui peut faire le travail.

Se référer à cet article (lien mort, sauvegarde web.archive.org ) pour créer le lien sym

script peut vous aider :

  • donne un choix de versions disponibles de XAMPP (basé sur les noms de dossiers qui les contiennent, selon le modèle présenté ci-dessus),
  • arrête le XAMPP ,
  • supprime la liaison logicielle lampp existante,
  • crée un nouveau soft link pointant vers le dossier contenant la version choisie de l'application. XAMPP.

Source :

0voto

rafaelphp Points 135

Suivez l'idée de créer un lien, j'essaie de faire en sorte que cela fonctionne. Rappelez-vous que je ne suis pas un pro, je cherchais une solution et faire ce script à mon auto et partager avec vous.

Pour les questions futures, si vous voulez installer 2 versions de xampp sur Linux, vous devez installer : Exemple : xampp php5 sur /opt/lampp puis le renommer en /opt/lampp5, puis faire de même avec l'installateur bin de php7 (ou tar) et le renommer en /opt/lampp7. Ensuite, copiez ce code dans un nouveau fichier script.sh et le rendre accessible en écriture chmod +x script.sh puis l'exécuter $ ./script.sh o $ ./script.sh 5 start voici l'exemple de code qui fonctionne bien sur ubuntu 16.04, c'est juste un simple script pour le faire fonctionner sur ce genre de problème, puisque sur Windows on peut le faire aux étapes de l'installation.

#!/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

Si ce code a un problème de syntaxe, désolé, je ne fais que le coller ici. Bonne chance !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X