mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 12:18:46 +00:00
166 lines
5.1 KiB
Bash
166 lines
5.1 KiB
Bash
#!/bin/bash
|
|
COMPILER_VERSION="0.7"
|
|
PHP_VERSION="5.4.11"
|
|
ZEND_VM="GOTO"
|
|
ZLIB_VERSION="1.2.7"
|
|
GMP_VERSION="5.1.0"
|
|
PTHREADS_VERSION="e4700122a89bf759a9c3a024bda0c7d025bcb93d"
|
|
CURL_VERSION="curl-7_28_1"
|
|
#READLINE_VERSION="6.2"
|
|
|
|
echo "[PocketMine] PHP installer and compiler for Linux - by @shoghicp v$COMPILER_VERSION"
|
|
DIR=`pwd`
|
|
date > $DIR/install.log 2>&1
|
|
uname -a >> $DIR/install.log 2>&1
|
|
echo "[INFO] Checking dependecies"
|
|
type make >> $DIR/install.log 2>&1 || { echo >&2 "[ERROR] Please install \"make\""; exit 1; }
|
|
type autoconf >> $DIR/install.log 2>&1 || { echo >&2 "[ERROR] Please install \"autoconf\""; exit 1; }
|
|
type automake >> $DIR/install.log 2>&1 || { echo >&2 "[ERROR] Please install \"automake\""; exit 1; }
|
|
type gcc >> $DIR/install.log 2>&1 || { echo >&2 "[ERROR] Please install \"gcc\""; exit 1; }
|
|
type m4 >> $DIR/install.log 2>&1 || { echo >&2 "[ERROR] Please install \"m4\""; exit 1; }
|
|
rm -r -f install_data/ >> $DIR/install.log 2>&1
|
|
rm -r -f php5/ >> $DIR/install.log 2>&1
|
|
mkdir -m 0777 install_data >> $DIR/install.log 2>&1
|
|
mkdir -m 0777 php5 >> $DIR/install.log 2>&1
|
|
cd install_data
|
|
set -e
|
|
|
|
#PHP 5
|
|
echo -n "[PHP5] downloading $PHP_VERSION..."
|
|
wget http://php.net/get/php-$PHP_VERSION.tar.gz/from/this/mirror -q -O - | tar -zx >> $DIR/install.log 2>&1
|
|
mv php-$PHP_VERSION php
|
|
echo " done!"
|
|
|
|
#zlib
|
|
echo -n "[zlib] downloading $ZLIB_VERSION..."
|
|
wget http://zlib.net/zlib-$ZLIB_VERSION.tar.gz -q -O - | tar -zx >> $DIR/install.log 2>&1
|
|
mv zlib-$ZLIB_VERSION zlib
|
|
echo -n " checking..."
|
|
cd zlib
|
|
./configure --prefix=$DIR/install_data/php/ext/zlib \
|
|
--static >> $DIR/install.log 2>&1
|
|
echo -n " compiling..."
|
|
make >> $DIR/install.log 2>&1
|
|
echo -n " installing..."
|
|
make install >> $DIR/install.log 2>&1
|
|
echo -n " cleaning..."
|
|
cd ..
|
|
rm -r -f ./zlib
|
|
echo " done!"
|
|
|
|
#Readline
|
|
#echo -n "[Readline] downloading $READLINE_VERSION..."
|
|
#wget ftp://ftp.cwru.edu/pub/bash/readline-$READLINE_VERSION.tar.gz -q -O - | tar -xz >> $DIR/install.log 2>&1
|
|
#mv readline-$READLINE_VERSION readline
|
|
#echo -n " checking..."
|
|
#cd readline
|
|
#./configure --prefix=$DIR/install_data/php/ext/readline \
|
|
#--disable-shared >> $DIR/install.log 2>&1
|
|
#echo -n " compiling..."
|
|
#make >> $DIR/install.log 2>&1
|
|
#echo -n " installing..."
|
|
#make install >> $DIR/install.log 2>&1
|
|
#echo -n " cleaning..."
|
|
#cd ..
|
|
#rm -r -f ./readine
|
|
#echo " done!"
|
|
|
|
#--with-readline=$DIR/install_data/php/ext/readline
|
|
|
|
#GMP
|
|
echo -n "[GMP] downloading $GMP_VERSION..."
|
|
wget ftp://ftp.gmplib.org/pub/gmp-$GMP_VERSION/gmp-$GMP_VERSION.tar.bz2 -q -O - | tar -xj >> $DIR/install.log 2>&1
|
|
mv gmp-$GMP_VERSION gmp
|
|
echo -n " checking..."
|
|
cd gmp
|
|
./configure --prefix=$DIR/install_data/php/ext/gmp \
|
|
--disable-shared >> $DIR/install.log 2>&1
|
|
echo -n " compiling..."
|
|
make >> $DIR/install.log 2>&1
|
|
echo -n " installing..."
|
|
make install >> $DIR/install.log 2>&1
|
|
echo -n " cleaning..."
|
|
cd ..
|
|
rm -r -f ./gmp
|
|
echo " done!"
|
|
|
|
echo -n "[cURL] downloading $CURL_VERSION..."
|
|
wget https://github.com/bagder/curl/archive/$CURL_VERSION.tar.gz --no-check-certificate -q -O - | tar -zx >> $DIR/install.log 2>&1
|
|
mv curl-$CURL_VERSION curl
|
|
echo -n " checking..."
|
|
cd curl
|
|
./buildconf >> $DIR/install.log 2>&1
|
|
./configure --prefix=$DIR/install_data/php/ext/curl \
|
|
--disable-shared >> $DIR/install.log 2>&1
|
|
echo -n " compiling..."
|
|
make >> $DIR/install.log 2>&1
|
|
echo -n " installing..."
|
|
make install >> $DIR/install.log 2>&1
|
|
echo -n " cleaning..."
|
|
cd ..
|
|
rm -r -f ./curl
|
|
echo " done!"
|
|
|
|
#pthreads
|
|
echo -n "[PHP pthreads] downloading $PTHREADS_VERSION..."
|
|
wget https://github.com/krakjoe/pthreads/archive/$PTHREADS_VERSION.tar.gz --no-check-certificate -q -O - | tar -zx >> $DIR/install.log 2>&1
|
|
mv pthreads-$PTHREADS_VERSION $DIR/install_data/php/ext/pthreads
|
|
echo " done!"
|
|
|
|
set +e
|
|
echo -n "[PHP5] checking..."
|
|
if which free >/dev/null; then
|
|
MAX_MEMORY=$(free -m | awk '/^Mem:/{print $2}')
|
|
else
|
|
MAX_MEMORY=$(top -l 1 | grep PhysMem: | awk '{print $10}' | tr -d 'a-zA-Z')
|
|
fi
|
|
if [ $MAX_MEMORY -gt 2048 ]
|
|
then
|
|
echo -n " enabling optimizations..."
|
|
OPTIMIZATION="--enable-inline-optimization "
|
|
else
|
|
OPTIMIZATION=""
|
|
fi
|
|
set -e
|
|
cd php
|
|
./buildconf --force >> $DIR/install.log 2>&1
|
|
./configure $OPTIMIZATION--prefix=$DIR/php5 \
|
|
--exec-prefix=$DIR/php5 \
|
|
--enable-embedded-mysqli \
|
|
--enable-bcmath \
|
|
--with-gmp=$DIR/install_data/php/ext/gmp \
|
|
--with-curl=$DIR/install_data/php/ext/curl \
|
|
--with-zlib=$DIR/install_data/php/ext/zlib \
|
|
--disable-libxml \
|
|
--disable-xml \
|
|
--disable-dom \
|
|
--disable-simplexml \
|
|
--disable-xmlreader \
|
|
--disable-xmlwriter \
|
|
--without-pear \
|
|
--disable-cgi \
|
|
--disable-session \
|
|
--enable-ctype \
|
|
--without-iconv \
|
|
--without-pdo-sqlite \
|
|
--enable-sockets \
|
|
--enable-shared=no \
|
|
--enable-static=yes \
|
|
--enable-pcntl \
|
|
--enable-pthreads \
|
|
--enable-maintainer-zts \
|
|
--enable-zend-signals \
|
|
--with-zend-vm=$ZEND_VM \
|
|
--enable-cli >> $DIR/install.log 2>&1
|
|
echo -n " compiling..."
|
|
make >> $DIR/install.log 2>&1
|
|
echo -n " installing..."
|
|
make install >> $DIR/install.log 2>&1
|
|
echo " done!"
|
|
cd $DIR
|
|
echo -n "[INFO] Cleaning up..."
|
|
rm -r -f install_data/ >> $DIR/install.log 2>&1
|
|
date >> $DIR/install.log 2>&1
|
|
echo " done!"
|
|
echo "[PocketMine] You should start the server now using \"./start.sh\""
|
|
echo "[PocketMine] If it doesn't works, please send the \"install.log\" file to the Bug Tracker" |