Skip to content

Instantly share code, notes, and snippets.

@littlecxm
Created June 24, 2019 07:33
Show Gist options
  • Save littlecxm/bd377cf95dcd4c56b1e15307f03f2d54 to your computer and use it in GitHub Desktop.
Save littlecxm/bd377cf95dcd4c56b1e15307f03f2d54 to your computer and use it in GitHub Desktop.
install_sqlsrv_bin.sh
#!/bin/sh
# !!!!! run as sudo first
#Code reference by https://github.com/laravel/homestead/issues/610#issuecomment-430679914
PHP_MSSQL_DRIVERS=Ubuntu18-7.2
PDO_SQLSRV_VER=v5.6.1
# Download and extract phpmysql drivers
cd ~/
sudo wget "https://github.com/microsoft/msphpsql/releases/download/${PDO_SQLSRV_VER}/${PHP_MSSQL_DRIVERS}.tar" -O - | tar -x
# Change Directory
cd $PHP_MSSQL_DRIVERS
# Change owner/group
sudo chown root:root php_pdo_sqlsrv_72_nts.so
sudo chown root:root php_sqlsrv_72_nts.so
# Modify permissions
sudo chmod 644 php_pdo_sqlsrv_72_nts.so
sudo chmod 644 php_sqlsrv_72_nts.so
# Move files
sudo mv php_pdo_sqlsrv_72_nts.so /usr/lib/php/20170718
sudo mv php_sqlsrv_72_nts.so /usr/lib/php/20170718
# Cleanup
cd ~/ && sudo rm -rf $PHP_MSSQL_DRIVERS
# Create new .ini file
sudo touch /etc/php/7.2/mods-available/pdo_sqlsrv.ini
echo "extension=php_pdo_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/mods-available/pdo_sqlsrv.ini > /dev/null
# Create Symlinks
sudo ln -sfn /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/cli/conf.d/20-pdo_sqlsrv.ini
sudo ln -sfn /etc/php/7.2/mods-available/pdo_sqlsrv.ini /etc/php/7.2/fpm/conf.d/20-pdo_sqlsrv.ini
# Enable PHP extension
echo "extension=php_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/cli/php.ini > /dev/null
echo "extension=php_sqlsrv_72_nts.so" | sudo tee -a /etc/php/7.2/fpm/php.ini > /dev/null
# Install Microsoft ODBC Driver 17 for SQL Server requirements
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
sudo sh -c 'curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list'
# Update package lists
sudo apt-get update
# Install Microsoft ODBC Driver
yes Y | sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# Restart services
sudo service php7.2-fpm restart
sudo service nginx restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment