Adding a script to setup Performance environment on Unix machines
This commit is contained in:
parent
f81656e0b5
commit
979933244e
|
@ -1,4 +0,0 @@
|
|||
<?php
|
||||
copy('https://getcomposer.org/installer', 'composer-setup.php');
|
||||
if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;
|
||||
?>
|
113
test/Performance/setup_env_unix.sh
Normal file
113
test/Performance/setup_env_unix.sh
Normal file
|
@ -0,0 +1,113 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
if [[ ("$1" = "Ubuntu16" || "$1" = "RedHat7" || "$1" = "Sierra") ]]; then
|
||||
PLATFORM=$1
|
||||
else
|
||||
echo "First argument must be one of Ubuntu16, RedHat7, Sierra. Exiting..."
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$2" = "" ]]; then
|
||||
echo "Second argument must be PHP version in format of 7.x.x.Exiting..."
|
||||
exit
|
||||
else
|
||||
PHP_VERSION=$2
|
||||
fi
|
||||
if [[ ("$3" != "nts" && "$3" != "ts") ]]; then
|
||||
echo "Thrid argument must be either nts or ts. Exiting..."
|
||||
exit 1
|
||||
else
|
||||
PHP_THREAD=$3
|
||||
fi
|
||||
if [[ (! -d "$4") || (! -d $4/sqlsrv) || (! -d $4/pdo_sqlsrv) || (! -d $4/shared) ]]; then
|
||||
echo "Fourth argument must be path to source folder.Path not found.Exiting..."
|
||||
exit 1
|
||||
else
|
||||
DRIVER_SOURCE_PATH=$4
|
||||
fi
|
||||
rm -rf env_setup.log
|
||||
touch env_setup.log
|
||||
if [ $PLATFORM = "Ubuntu16" ]; then
|
||||
echo "Installing git, libxml, autoconf, openssl..."
|
||||
yes | sudo apt-get install git autoconf libxml2-dev libssl-dev pkg-config >> env_setup.log 2>&1
|
||||
|
||||
echo "OK"
|
||||
echo "Installing MSODBCSQL..."
|
||||
curl -s https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
|
||||
curl -s https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
|
||||
yes | sudo apt-get update >> env_setup.log 2>&1
|
||||
yes | sudo ACCEPT_EULA=Y apt-get install msodbcsql >> env_setup.log 2>&1
|
||||
yes | sudo apt-get install -qq unixodbc-dev >> env_setup.log 2>&1
|
||||
elif [ $PLATFORM = "RedHat7" ]; then
|
||||
echo "Installing gcc, git, libxml, openssl..."
|
||||
yes | sudo yum install -y gcc-c++ libxml2-devel git openssl-devel >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
echo "Installing MSODBCSQL..."
|
||||
curl -s https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssql-release.repo
|
||||
(yes | sudo ACCEPT_EULA=Y yum install -y msodbcsql >> env_setup.log 2>&1)
|
||||
(yes | sudo yum install -y unixODBC-devel autoconf >> env_setup.log 2>&1)
|
||||
echo "OK"
|
||||
elif [ $PLATFORM = "Sierra" ]; then
|
||||
echo "Installing homebrew..."
|
||||
yes | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
echo "Installing wget..."
|
||||
#brew install wget >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
|
||||
echo "Installing openssl..."
|
||||
brew install pkg-config >> env_setup.log 2>&1
|
||||
brew install openssl >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
echo "Installing MSODBCSQL..."
|
||||
brew tap microsoft/msodbcsql https://github.com/Microsoft/homebrew-msodbcsql >> env_setup.log 2>&1
|
||||
brew update >> env_setup.log 2>&1
|
||||
yes | ACCEPT_EULA=Y brew install msodbcsql >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
yes | brew install autoconf >> env_setup.log 2>&1
|
||||
fi
|
||||
echo "Downloading PHP-$PHP_VERSION source tarball..."
|
||||
wget http://ca1.php.net/get/php-$PHP_VERSION.tar.gz/from/this/mirror -O php-$PHP_VERSION.tar.gz >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
echo "Extracting PHP source tarball..."
|
||||
rm -rf php-$PHP_VERSION
|
||||
tar -xf php-$PHP_VERSION.tar.gz
|
||||
echo "OK"
|
||||
cd php-$PHP_VERSION
|
||||
mkdir ext/sqlsrv ext/pdo_sqlsrv
|
||||
cp -r $DRIVER_SOURCE_PATH/sqlsrv/* $DRIVER_SOURCE_PATH/shared ext/sqlsrv
|
||||
cp -r $DRIVER_SOURCE_PATH/pdo_sqlsrv/* $DRIVER_SOURCE_PATH/shared ext/pdo_sqlsrv
|
||||
./buildconf --force >> ../env_setup.log 2>&1
|
||||
CONFIG_OPTIONS="--enable-cli --enable-cgi --enable-pdo --enable-sqlsrv=shared --with-pdo_sqlsrv=shared --with-odbcver=0x0380 --with-zlib --enable-mbstring --prefix=/usr/local"
|
||||
[ "${PHP_THREAD}" == "ts" ] && CONFIG_OPTIONS=${CONFIG_OPTIONS}" --enable-maintainer-zts"
|
||||
if [ $PLATFORM = "Sierra" ]; then
|
||||
CONFIG_OPTIONS=$CONFIG_OPTIONS" --with-openssl=/usr/local/opt/openssl/"
|
||||
else
|
||||
CONFIG_OPTIONS=$CONFIG_OPTIONS" --with-openssl"
|
||||
fi
|
||||
echo "Configuring PHP..."
|
||||
(./configure $CONFIG_OPTIONS >> ../env_setup.log 2>&1)
|
||||
echo "OK"
|
||||
echo "Compiling PHP and the drivers..."
|
||||
make >> ../env_setup.log 2>&1
|
||||
echo "OK"
|
||||
sudo make install >> ../env_setup.log 2>&1
|
||||
cp php.ini-production php.ini
|
||||
EXTENSION_DIR=`php-config --extension-dir`
|
||||
echo "extension=$EXTENSION_DIR/sqlsrv.so" >> php.ini
|
||||
echo "extension=$EXTENSION_DIR/pdo_sqlsrv.so" >> php.ini
|
||||
sudo cp php.ini /usr/local/lib
|
||||
cd ..
|
||||
php -v
|
||||
php --ri sqlsrv
|
||||
php --ri pdo_sqlsrv
|
||||
echo "Installing Composer..."
|
||||
wget https://getcomposer.org/installer -O composer-setup.php >> env_setup.log 2>&1
|
||||
php composer-setup.php >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
echo "Installing PHPBench..."
|
||||
php composer.phar install >> env_setup.log 2>&1
|
||||
echo "OK"
|
||||
echo "Cleaning up..."
|
||||
rm -rf php-$PHP_VERSION* compser-setup.php
|
||||
echo "OK"
|
||||
echo "Setup completed!"
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
unlink('composer-setup.php');
|
||||
?>
|
Loading…
Reference in a new issue