Merge pull request #512 from david-puglielli/suse-performance-test
Added SUSE 12 and CRUD to performance tests
This commit is contained in:
commit
9e695d2d57
|
@ -15,6 +15,8 @@ Run `Windows PowerShell` as administrator.
|
||||||
sudo env "PATH=$PATH" bash setup_env_unix.sh Ubuntu16 <PHP_VERSION - 7.x.y> <PHP_THREAD - ts or nts> <absolute path to the SQLSRV driver so> <absolute path to the PDO_SQLSRV driver so>
|
sudo env "PATH=$PATH" bash setup_env_unix.sh Ubuntu16 <PHP_VERSION - 7.x.y> <PHP_THREAD - ts or nts> <absolute path to the SQLSRV driver so> <absolute path to the PDO_SQLSRV driver so>
|
||||||
### RedHat 7
|
### RedHat 7
|
||||||
sudo env "PATH=$PATH" bash setup_env_unix.sh RedHat7 <PHP_VERSION - 7.x.y> <PHP_THREAD - ts or nts> <absolute path to the SQLSRV driver so> <absolute path to the PDO_SQLSRV driver so>
|
sudo env "PATH=$PATH" bash setup_env_unix.sh RedHat7 <PHP_VERSION - 7.x.y> <PHP_THREAD - ts or nts> <absolute path to the SQLSRV driver so> <absolute path to the PDO_SQLSRV driver so>
|
||||||
|
### SUSE 12
|
||||||
|
sudo env "PATH=$PATH" bash setup_env_unix.sh SUSE12 <PHP_VERSION - 7.x.y> <PHP_THREAD - ts or nts> <absolute path to the SQLSRV driver so> <absolute path to the PDO_SQLSRV driver so>
|
||||||
### MacOS 10.12 Sierra
|
### MacOS 10.12 Sierra
|
||||||
`brew` cannot be run with `sudo` on Sierra. Either enable passwordless `sudo` on the machine or enter the password when prompted.
|
`brew` cannot be run with `sudo` on Sierra. Either enable passwordless `sudo` on the machine or enter the password when prompted.
|
||||||
|
|
||||||
|
@ -30,10 +32,10 @@ PHPBench is used to run the benchmarks. Visit http://phpbench.readthedocs.io/en/
|
||||||
### Windows
|
### Windows
|
||||||
py.exe run-perf_tests.py -platform <PLATFORM>
|
py.exe run-perf_tests.py -platform <PLATFORM>
|
||||||
### Linux and Mac
|
### Linux and Mac
|
||||||
On Linux and Mac, the script must be executed with `sudo python3` because to enable pooling it needs to modify odbcinst.ini system file. As an improvement, the location of the odbcinst.ini file can be changed so that, sudo is not requiered.
|
On Linux and Mac, the script must be executed with `sudo python3` because to enable pooling it needs to modify odbcinst.ini system file. As an improvement, the location of the odbcinst.ini file can be changed so that sudo is not required.
|
||||||
|
|
||||||
python3 run-perf_tests.py -platform <PLATFORM> | tee run-perf_output.txt
|
python3 run-perf_tests.py -platform <PLATFORM> | tee run-perf_output.txt
|
||||||
|
|
||||||
`-platform` - The platform that the tests are ran on. Must be one of the following: Windows10, WindowsServer2016, WindowsServer2012, Ubuntu16, RedHat7, Sierra.
|
`-platform` - The platform that the tests are ran on. Must be one of the following: Windows10, WindowsServer2016, WindowsServer2012, Ubuntu16, RedHat7, SUSE12, Sierra.
|
||||||
`-php-driver` (optional) - The driver that the tests are ran on. Must be one of the following: sqlsrv, pdo_sqlsrv, or both. Default is both.
|
`-php-driver` (optional) - The driver that the tests are ran on. Must be one of the following: sqlsrv, pdo_sqlsrv, or both. Default is both.
|
||||||
`-testname` (optional) - The test to run. Must be the file name (not including path) of one test or 'all'. Default is 'all'. If one test is specified, must also specify the -php-driver option to sqlsrv or pdo_sqlsrv.
|
`-testname` (optional) - The test to run. Must be the file name (not including path) of one test or 'all'. Default is 'all'. If one test is specified, must also specify the -php-driver option to sqlsrv or pdo_sqlsrv.
|
79
test/Performance/benchmark/pdo_sqlsrv/PDOCRUDBench.php
Normal file
79
test/Performance/benchmark/pdo_sqlsrv/PDOCRUDBench.php
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use PDOSqlsrvPerfTest\PDOSqlsrvUtil;
|
||||||
|
include_once __DIR__ . "/../../lib/CRUDBaseBenchmark.php";
|
||||||
|
/**
|
||||||
|
* @BeforeMethods({"connect", "setTableName", "createTable", "generateInsertValues", "generateUpdateValues", "generateUpdateParams"})
|
||||||
|
* @AfterMethods({ "dropTable", "disconnect"})
|
||||||
|
*/
|
||||||
|
class PDOSqlsrvCRUDBench extends CRUDBaseBenchmark
|
||||||
|
{
|
||||||
|
|
||||||
|
private $conn;
|
||||||
|
private $tableName;
|
||||||
|
private $insertValues;
|
||||||
|
private $updateValues;
|
||||||
|
private $updateParams;
|
||||||
|
|
||||||
|
public function setTableName()
|
||||||
|
{
|
||||||
|
$this->tableName = "datatypes_".rand();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function connect()
|
||||||
|
{
|
||||||
|
$this->conn = PDOSqlsrvUtil::connect();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createTable()
|
||||||
|
{
|
||||||
|
PDOSqlsrvUtil::createCRUDTable( $this->conn, $this->tableName );
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateInsertValues()
|
||||||
|
{
|
||||||
|
$this->insertValues = PDOSqlsrvUtil::generateInsertValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateUpdateValues()
|
||||||
|
{
|
||||||
|
$this->updateValues = PDOSqlsrvUtil::generateUpdateValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateUpdateParams()
|
||||||
|
{
|
||||||
|
$this->updateParams = PDOSqlsrvUtil::generateUpdateParams();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Each iteration does the following $loopsPerCRUDIter times:
|
||||||
|
* (i) insert a row into the table with insertWithPrepare
|
||||||
|
* (ii) fetch the row with fetchWithPrepare
|
||||||
|
* (iii) update the row's contents with updateWithPrepare
|
||||||
|
* (iv) delete the row with delete
|
||||||
|
* Every insertion calls prepare, bindParam and execute APIs.
|
||||||
|
* Every fetch calls prepare, execute and fetch APIs.
|
||||||
|
* Every update calls prepare, bindParam and execute APIs.
|
||||||
|
* Every delete calls prepare and execute APIs.
|
||||||
|
*/
|
||||||
|
public function benchCRUDWithPrepare()
|
||||||
|
{
|
||||||
|
for( $i=0; $i<PDOSqlsrvUtil::$loopsPerCRUDIter; $i++ )
|
||||||
|
{
|
||||||
|
PDOSqlsrvUtil::insertWithPrepare( $this->conn, $this->tableName, $this->insertValues );
|
||||||
|
PDOSqlsrvUtil::fetchWithPrepare( $this->conn, $this->tableName );
|
||||||
|
PDOSqlsrvUtil::updateWithPrepare( $this->conn, $this->tableName, $this->updateValues, $this->updateParams );
|
||||||
|
PDOSqlsrvUtil::deleteWithPrepare( $this->conn, $this->tableName );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function dropTable()
|
||||||
|
{
|
||||||
|
PDOSqlsrvUtil::dropTable( $this->conn, $this->tableName );
|
||||||
|
}
|
||||||
|
|
||||||
|
public function disconnect()
|
||||||
|
{
|
||||||
|
PDOSqlsrvUtil::disconnect( $this->conn );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -23,7 +23,7 @@ class PDOFetchLargeBench
|
||||||
$this->conn = PDOSqlsrvUtil::connect();
|
$this->conn = PDOSqlsrvUtil::connect();
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Each iteration calls prepare, execute and fetch APIs to fetch the already populdated data
|
* Each iteration calls prepare, execute and fetch APIs to fetch the already populated data
|
||||||
*/
|
*/
|
||||||
public function benchFetchWithPrepare()
|
public function benchFetchWithPrepare()
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,7 +57,7 @@ class PDOUpdateBench extends CRUDBaseBenchmark
|
||||||
{
|
{
|
||||||
for( $i=0; $i<PDOSqlsrvUtil::$loopsPerCRUDIter; $i++ )
|
for( $i=0; $i<PDOSqlsrvUtil::$loopsPerCRUDIter; $i++ )
|
||||||
{
|
{
|
||||||
$stmt = PDOSqlsrvUtil::updateWithPrepare( $this->conn, $this->tableName, $this->updateValues, $this->updateParams );
|
PDOSqlsrvUtil::updateWithPrepare( $this->conn, $this->tableName, $this->updateValues, $this->updateParams );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
79
test/Performance/benchmark/sqlsrv/SqlsrvCRUDBench.php
Normal file
79
test/Performance/benchmark/sqlsrv/SqlsrvCRUDBench.php
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use SqlsrvPerfTest\SqlsrvUtil;
|
||||||
|
include_once __DIR__ . "/../../lib/CRUDBaseBenchmark.php";
|
||||||
|
/**
|
||||||
|
* @BeforeMethods({"connect", "setTableName", "createTable", "generateInsertValues", "generateUpdateValues", "generateUpdateParams"})
|
||||||
|
* @AfterMethods({ "dropTable", "disconnect"})
|
||||||
|
*/
|
||||||
|
class SqlsrvCRUDBench extends CRUDBaseBenchmark
|
||||||
|
{
|
||||||
|
|
||||||
|
private $conn;
|
||||||
|
private $tableName;
|
||||||
|
private $insertValues;
|
||||||
|
private $updateValues;
|
||||||
|
private $updateParams;
|
||||||
|
|
||||||
|
public function setTableName()
|
||||||
|
{
|
||||||
|
$this->tableName = "datatypes_".rand();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function connect()
|
||||||
|
{
|
||||||
|
$this->conn = SqlsrvUtil::connect();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createTable()
|
||||||
|
{
|
||||||
|
SqlsrvUtil::createCRUDTable( $this->conn, $this->tableName );
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateInsertValues()
|
||||||
|
{
|
||||||
|
$this->insertValues = SqlsrvUtil::generateInsertValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateUpdateValues()
|
||||||
|
{
|
||||||
|
$this->updateValues = SqlsrvUtil::generateUpdateValues();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function generateUpdateParams()
|
||||||
|
{
|
||||||
|
$this->updateParams = SqlsrvUtil::generateUpdateParams();
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Each iteration does the following $loopsPerCRUDIter times:
|
||||||
|
* (i) insert a row into the table with insertWithPrepare
|
||||||
|
* (ii) fetch the row with fetchWithPrepare
|
||||||
|
* (iii) update the row's contents with updateWithPrepare
|
||||||
|
* (iv) delete the row with delete
|
||||||
|
* Every insertion calls prepare, bindParam and execute APIs.
|
||||||
|
* Every fetch calls prepare, execute and fetch APIs.
|
||||||
|
* Every update calls prepare, bindParam and execute APIs.
|
||||||
|
* Every delete calls prepare and execute APIs.
|
||||||
|
*/
|
||||||
|
public function benchCRUDWithPrepare()
|
||||||
|
{
|
||||||
|
for( $i=0; $i<SqlsrvUtil::$loopsPerCRUDIter; $i++ )
|
||||||
|
{
|
||||||
|
SqlsrvUtil::insertWithPrepare( $this->conn, $this->tableName, $this->insertValues );
|
||||||
|
SqlsrvUtil::fetchWithPrepare( $this->conn, $this->tableName );
|
||||||
|
SqlsrvUtil::updateWithPrepare( $this->conn, $this->tableName, $this->updateValues, $this->updateParams );
|
||||||
|
SqlsrvUtil::delete( $this->conn, $this->tableName );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function dropTable()
|
||||||
|
{
|
||||||
|
SqlsrvUtil::dropTable( $this->conn, $this->tableName );
|
||||||
|
}
|
||||||
|
|
||||||
|
public function disconnect()
|
||||||
|
{
|
||||||
|
SqlsrvUtil::disconnect( $this->conn );
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -23,7 +23,7 @@ class SqlsrvFetchLargeBench
|
||||||
$this->conn = SqlsrvUtil::connect();
|
$this->conn = SqlsrvUtil::connect();
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
* Each iteration calls prepare, execute and fetch APIs to fetch the already populdated data
|
* Each iteration calls prepare, execute and fetch APIs to fetch the already populated data
|
||||||
*/
|
*/
|
||||||
public function benchFetchWithPrepare()
|
public function benchFetchWithPrepare()
|
||||||
{
|
{
|
||||||
|
|
|
@ -57,7 +57,7 @@ class SqlsrvUpdateBench extends CRUDBaseBenchmark
|
||||||
{
|
{
|
||||||
for( $i=0; $i<SqlsrvUtil::$loopsPerCRUDIter; $i++ )
|
for( $i=0; $i<SqlsrvUtil::$loopsPerCRUDIter; $i++ )
|
||||||
{
|
{
|
||||||
$stmt = SqlsrvUtil::updateWithPrepare( $this->conn, $this->tableName, $this->updateValues, $this->updateParams );
|
SqlsrvUtil::updateWithPrepare( $this->conn, $this->tableName, $this->updateValues, $this->updateParams );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -58,6 +58,7 @@ def validate_platform( platform_name ):
|
||||||
, "WindowsServer2012"
|
, "WindowsServer2012"
|
||||||
, "Ubuntu16"
|
, "Ubuntu16"
|
||||||
, "RedHat7"
|
, "RedHat7"
|
||||||
|
, "SUSE12"
|
||||||
, "Sierra"]
|
, "Sierra"]
|
||||||
if platform_name not in platforms:
|
if platform_name not in platforms:
|
||||||
print ( "Platform must be one of the following:" )
|
print ( "Platform must be one of the following:" )
|
||||||
|
@ -121,6 +122,7 @@ def get_test_name( name ):
|
||||||
test_name_dict = {
|
test_name_dict = {
|
||||||
'SqlsrvConnectionBench': 'connection'
|
'SqlsrvConnectionBench': 'connection'
|
||||||
, 'SqlsrvCreateDbTableProcBench': 'create'
|
, 'SqlsrvCreateDbTableProcBench': 'create'
|
||||||
|
, 'SqlsrvCRUDBench': 'crud'
|
||||||
, 'SqlsrvInsertBench': 'crud-create'
|
, 'SqlsrvInsertBench': 'crud-create'
|
||||||
, 'SqlsrvFetchBench': 'crud-retrieve'
|
, 'SqlsrvFetchBench': 'crud-retrieve'
|
||||||
, 'SqlsrvUpdateBench': 'crud-update'
|
, 'SqlsrvUpdateBench': 'crud-update'
|
||||||
|
@ -129,6 +131,7 @@ def get_test_name( name ):
|
||||||
, 'SqlsrvSelectVersionBench': 'version'
|
, 'SqlsrvSelectVersionBench': 'version'
|
||||||
, 'PDOConnectionBench': 'connection'
|
, 'PDOConnectionBench': 'connection'
|
||||||
, 'PDOCreateDbTableProcBench': 'create'
|
, 'PDOCreateDbTableProcBench': 'create'
|
||||||
|
, 'PDOCRUDBench': 'crud'
|
||||||
, 'PDOInsertBench': 'crud-create'
|
, 'PDOInsertBench': 'crud-create'
|
||||||
, 'PDOFetchBench': 'crud-retrieve'
|
, 'PDOFetchBench': 'crud-retrieve'
|
||||||
, 'PDOUpdateBench': 'crud-update'
|
, 'PDOUpdateBench': 'crud-update'
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
if [[ ("$1" = "Ubuntu16" || "$1" = "RedHat7" || "$1" = "Sierra") ]]; then
|
if [[ ("$1" = "Ubuntu16" || "$1" = "RedHat7" || "$1" = "SUSE12" || "$1" = "Sierra") ]]; then
|
||||||
PLATFORM=$1
|
PLATFORM=$1
|
||||||
else
|
else
|
||||||
echo "1st argument must be one of Ubuntu16, RedHat7, Sierra. Exiting..."
|
echo "1st argument must be one of Ubuntu16, RedHat7, SUSE12, Sierra. Exiting..."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ (! -f "$4") || (! -f "$5") ]]; then
|
if [[ (! -f "$4") || (! -f "$5") ]]; then
|
||||||
echo "5th and 6th argument must be paths to sqlsrv and pdo drivers. Exiting..."
|
echo "4th and 5th argument must be paths to sqlsrv and pdo drivers. Exiting..."
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
SQLSRV_DRIVER=$4
|
SQLSRV_DRIVER=$4
|
||||||
|
@ -61,8 +61,8 @@ elif [ $PLATFORM = "RedHat7" ]; then
|
||||||
|
|
||||||
printf "Enabling EPEL repo..."
|
printf "Enabling EPEL repo..."
|
||||||
# pipe non-error to log file (wget and yum install reports error when there's nothing to do)
|
# pipe non-error to log file (wget and yum install reports error when there's nothing to do)
|
||||||
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm >> env_setup.log 2>&1
|
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm >> env_setup.log
|
||||||
yes | sudo yum install epel-release-latest-7.noarch.rpm >> env_setup.log 2>&1 || true
|
yes | sudo yum install epel-release-latest-7.noarch.rpm >> env_setup.log || true
|
||||||
printf "done\n"
|
printf "done\n"
|
||||||
|
|
||||||
printf "Installing python34-setuptools..."
|
printf "Installing python34-setuptools..."
|
||||||
|
@ -83,6 +83,28 @@ elif [ $PLATFORM = "RedHat7" ]; then
|
||||||
pip3 install --upgrade pip >> env_setup.log
|
pip3 install --upgrade pip >> env_setup.log
|
||||||
pip3 install pyodbc >> env_setup.log
|
pip3 install pyodbc >> env_setup.log
|
||||||
printf "done\n"
|
printf "done\n"
|
||||||
|
|
||||||
|
elif [ $PLATFORM = "SUSE12" ]; then
|
||||||
|
printf "Update..."
|
||||||
|
sudo zypper refresh >> env_setup.log
|
||||||
|
printf "done\n"
|
||||||
|
|
||||||
|
printf "Installing autoconf, gcc, g++, git, zip, libxml, openssl, python3, pip3..."
|
||||||
|
sudo zypper -n install autoconf gcc gcc-c++ libxml2-devel git zip libopenssl-devel python3-devel python3-pip python3-setuptools >> env_setup.log
|
||||||
|
printf "done\n"
|
||||||
|
|
||||||
|
printf "Installing MSODBCSQL..."
|
||||||
|
zypper -n ar https://packages.microsoft.com/config/sles/12/prod.repo
|
||||||
|
zypper --gpg-auto-import-keys refresh
|
||||||
|
ACCEPT_EULA=Y zypper -n install msodbcsql >> env_setup.log
|
||||||
|
ACCEPT_EULA=Y zypper -n install mssql-tools >> env_setup.log
|
||||||
|
zypper -n install unixODBC-devel >> env_setup.log
|
||||||
|
printf "done\n"
|
||||||
|
|
||||||
|
printf "Installing pyodbc"
|
||||||
|
pip3 install --upgrade pip >> env_setup.log
|
||||||
|
pip3 install pyodbc >> env_setup.log
|
||||||
|
printf "done\n"
|
||||||
|
|
||||||
elif [ $PLATFORM = "Sierra" ]; then
|
elif [ $PLATFORM = "Sierra" ]; then
|
||||||
printf "Installing homebrew..."
|
printf "Installing homebrew..."
|
||||||
|
@ -120,7 +142,7 @@ fi
|
||||||
|
|
||||||
printf "Downloading PHP-$PHP_VERSION source tarball..."
|
printf "Downloading PHP-$PHP_VERSION source tarball..."
|
||||||
# pipe non-error to log file
|
# pipe non-error to log file
|
||||||
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
|
wget http://ca1.php.net/get/php-$PHP_VERSION.tar.gz/from/this/mirror -O php-$PHP_VERSION.tar.gz >> env_setup.log
|
||||||
printf "done\n"
|
printf "done\n"
|
||||||
|
|
||||||
printf "Extracting PHP source tarball..."
|
printf "Extracting PHP source tarball..."
|
||||||
|
@ -132,7 +154,7 @@ phpDir=php-$PHP_VERSION
|
||||||
cd $phpDir
|
cd $phpDir
|
||||||
|
|
||||||
printf "Configuring PHP..."
|
printf "Configuring PHP..."
|
||||||
./buildconf --force >> ../env_setup.log 2>&1
|
./buildconf --force >> ../env_setup.log
|
||||||
CONFIG_OPTIONS="--enable-cli --enable-cgi --with-zlib --enable-mbstring --prefix=/usr/local"
|
CONFIG_OPTIONS="--enable-cli --enable-cgi --with-zlib --enable-mbstring --prefix=/usr/local"
|
||||||
[ "${PHP_THREAD}" == "ts" ] && CONFIG_OPTIONS=${CONFIG_OPTIONS}" --enable-maintainer-zts"
|
[ "${PHP_THREAD}" == "ts" ] && CONFIG_OPTIONS=${CONFIG_OPTIONS}" --enable-maintainer-zts"
|
||||||
if [ $PLATFORM = "Sierra" ]; then
|
if [ $PLATFORM = "Sierra" ]; then
|
||||||
|
@ -141,7 +163,7 @@ else
|
||||||
CONFIG_OPTIONS=$CONFIG_OPTIONS" --with-openssl"
|
CONFIG_OPTIONS=$CONFIG_OPTIONS" --with-openssl"
|
||||||
fi
|
fi
|
||||||
#pipe non-error to log file
|
#pipe non-error to log file
|
||||||
(./configure $CONFIG_OPTIONS >> ../env_setup.log 2>&1)
|
(./configure $CONFIG_OPTIONS >> ../env_setup.log)
|
||||||
printf "done\n"
|
printf "done\n"
|
||||||
|
|
||||||
printf "Compiling and installing PHP..."
|
printf "Compiling and installing PHP..."
|
||||||
|
@ -158,12 +180,12 @@ cp php.ini-production php.ini
|
||||||
driverName=$(basename $SQLSRV_DRIVER)
|
driverName=$(basename $SQLSRV_DRIVER)
|
||||||
echo "extension=$driverName" >> php.ini
|
echo "extension=$driverName" >> php.ini
|
||||||
sudo cp -r $SQLSRV_DRIVER $phpExtDir/$driverName
|
sudo cp -r $SQLSRV_DRIVER $phpExtDir/$driverName
|
||||||
sudo chmod a+r $SQLSRV_DRIVER $phpExtDir/$driverName
|
sudo chmod a+r $phpExtDir/$driverName
|
||||||
|
|
||||||
driverName=$(basename $PDO_DRIVER)
|
driverName=$(basename $PDO_DRIVER)
|
||||||
echo "extension=$driverName" >> php.ini
|
echo "extension=$driverName" >> php.ini
|
||||||
sudo cp -r $PDO_DRIVER $phpExtDir/$driverName
|
sudo cp -r $PDO_DRIVER $phpExtDir/$driverName
|
||||||
sudo chmod a+r $SQLSRV_DRIVER $phpExtDir/$driverName
|
sudo chmod a+r $phpExtDir/$driverName
|
||||||
|
|
||||||
sudo cp php.ini /usr/local/lib
|
sudo cp php.ini /usr/local/lib
|
||||||
printf "done\n"
|
printf "done\n"
|
||||||
|
@ -175,7 +197,7 @@ printf "done\n"
|
||||||
printf "Installing Composer..."
|
printf "Installing Composer..."
|
||||||
cd ..
|
cd ..
|
||||||
# pipe non-error to log file
|
# pipe non-error to log file
|
||||||
wget https://getcomposer.org/installer -O composer-setup.php >> env_setup.log 2>&1
|
wget https://getcomposer.org/installer -O composer-setup.php >> env_setup.log
|
||||||
/usr/local/bin/php composer-setup.php >> env_setup.log
|
/usr/local/bin/php composer-setup.php >> env_setup.log
|
||||||
printf "done\n"
|
printf "done\n"
|
||||||
|
|
||||||
|
|
|
@ -41,18 +41,19 @@ $phpDir="C:\php"
|
||||||
Remove-Item $phpDir -Recurse -ErrorAction Ignore
|
Remove-Item $phpDir -Recurse -ErrorAction Ignore
|
||||||
New-Item -ItemType directory -Path $phpDir
|
New-Item -ItemType directory -Path $phpDir
|
||||||
Expand-Archive $PHP_ZIP -DestinationPath $phpDir
|
Expand-Archive $PHP_ZIP -DestinationPath $phpDir
|
||||||
Copy-Item $SQLSRV_DRIVER $phpDir\ext
|
|
||||||
Copy-Item $PDO_DRIVER $phpDir\ext
|
# copy drivers to extensions directory and rename to a standard nomenclature
|
||||||
|
# for consistency with run-perf_tests.py
|
||||||
|
Copy-Item $SQLSRV_DRIVER $phpDir\ext\php_sqlsrv.dll
|
||||||
|
Copy-Item $PDO_DRIVER $phpDir\ext\php_pdo_sqlsrv.dll
|
||||||
|
|
||||||
# setup driver
|
# setup driver
|
||||||
Copy-Item $phpDir\php.ini-production $phpDir\php.ini
|
Copy-Item $phpDir\php.ini-production $phpDir\php.ini
|
||||||
Add-Content $phpDir\php.ini "extension=$phpDir\ext\php_openssl.dll"
|
Add-Content $phpDir\php.ini "extension=$phpDir\ext\php_openssl.dll"
|
||||||
Add-Content $phpDir\php.ini "extension=$phpDir\ext\php_mbstring.dll"
|
Add-Content $phpDir\php.ini "extension=$phpDir\ext\php_mbstring.dll"
|
||||||
|
|
||||||
$driverName=Split-Path $SQLSRV_DRIVER -leaf
|
Add-Content $phpDir\php.ini "extension=$phpDir\ext\php_sqlsrv.dll"
|
||||||
Add-Content $phpDir\php.ini "extension=$phpDir\ext\$driverName"
|
Add-Content $phpDir\php.ini "extension=$phpDir\ext\php_pdo_sqlsrv.dll"
|
||||||
$driverName=Split-Path $PDO_DRIVER -leaf
|
|
||||||
Add-Content $phpDir\php.ini "extension=$phpDir\ext\$driverName"
|
|
||||||
|
|
||||||
Move-Item $phpDir\php.ini C:\Windows -force
|
Move-Item $phpDir\php.ini C:\Windows -force
|
||||||
Copy-Item $phpDir\ssleay32.dll C:\Windows -force
|
Copy-Item $phpDir\ssleay32.dll C:\Windows -force
|
||||||
|
|
Loading…
Reference in a new issue