У меня проблемы с установкой нескольких версий XAMPP на мою машину. В настоящее время я использую версию 1.7.7 и установил ее в /opt/lampp
, но мне также нужно установить предыдущую версию, которая является версией 1.7.1 . Поэтому я скачал и установил версию 1.7.1 в /opt/lampp2
.
Но когда я запускаю команду /opt/lampp2/lampp start
, чтобы запустить 1.7.1 версию, почему XAMPP показывает, что текущая версия - 1.7.7 , когда должно быть 1.7.1 ?
Следуйте идее, чтобы создать ссылку, я пытаюсь сделать это работает. Помните, что я не профессионал, я искал решение и сделал этот скрипт для себя и поделился с вами.
Просто на будущие вопросы, если вы хотите установить 2 версии xampp на Linux, вам нужно установить: Пример: xampp php5 на /opt/lampp
, затем переименуйте его в / 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
Если у этого кода есть какие-либо проблемы с синтаксисом, извините, я просто вставил сюда. удачи!
Решение, имеют отдельные каталоги и создают символьную ссылку на /opt/lampp
Сохраните 1.7.7 как/opt/lampp.1_7_7, и 1.7.1 как/opt/lampp.1_7_1 Вы может создать символьную ссылку на /opt/lampp
. На основе выбора версии можно изменить символьную ссылку.
Но боль - то, если необходимо переключить версии, Вы имеете, удаляют ссылку и воссоздают новую. Таким образом для предотвращения этого я нашел сценарий, который может сделать задание.
Обратитесь к этой статье (битая ссылка, резервное копирование web.archive.org) для создания символьной ссылки
Сценарий может помочь Вам к:
- дает выбор доступных версий XAMPP (на основе имен папок, содержащих их, на основе шаблона, показанного выше),
- останавливает серверные процессы XAMPP,
- удаляет существующую lampp гибкую ссылку,
- создает новую гибкую ссылку, указывающую на папку, содержащую выбранная версия XAMPP.