Created
January 16, 2020 18:04
-
-
Save Mxrck/3665387aa8c48aedef5189a2294c3a43 to your computer and use it in GitHub Desktop.
Instalación de drivers SQL Server para PHP (Laravel Homestead)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Verificando usurio que correo el script | |
if [[ $(id -u) -ne 0 ]] ; then echo "Se necesita ejecutar como root" ; exit 1 ; fi | |
# Inicializando variables | |
VERSION_OS=`lsb_release -rs` | |
# Revisando versión del sistema | |
echo "Verificando versión del sistema" | |
# Por el momento solo me interesa darle soporte a la versión actual de Homestead (2020/01/14 con Ubuntu 18.04) | |
if [[ $VERSION_OS != "18.04" ]] | |
then | |
echo "Este script solo es compatible con 18.04, estás usando $VERSION_OS"; | |
exit 1; | |
fi | |
# Listando directorios de extensiones | |
PHP71=`php7.1 --version | head -n 1 | cut -d " " -f 2 | cut -c 1,3` | |
PHP72=`php7.2 --version | head -n 1 | cut -d " " -f 2 | cut -c 1,3` | |
PHP73=`php7.3 --version | head -n 1 | cut -d " " -f 2 | cut -c 1,3` | |
PHP74=`php7.4 --version | head -n 1 | cut -d " " -f 2 | cut -c 1,3` | |
PHP71_EXTENSIONS_DIR="" | |
PHP72_EXTENSIONS_DIR="" | |
PHP73_EXTENSIONS_DIR="" | |
PHP74_EXTENSIONS_DIR="" | |
PHP71_CONFIG_DIR="" | |
PHP72_CONFIG_DIR="" | |
PHP73_CONFIG_DIR="" | |
PHP74_CONFIG_DIR="" | |
PHP71_UBUNTU1804_EXTENSION="https://github.com/microsoft/msphpsql/releases/download/v5.6.1/Ubuntu18-7.1.tar" | |
PHP72_UBUNTU1804_EXTENSION="https://github.com/microsoft/msphpsql/releases/download/v5.7.1-preview/Ubuntu1804-7.2.tar" | |
PHP73_UBUNTU1804_EXTENSION="https://github.com/microsoft/msphpsql/releases/download/v5.7.1-preview/Ubuntu1804-7.3.tar" | |
PHP74_UBUNTU1804_EXTENSION="https://github.com/microsoft/msphpsql/releases/download/v5.7.1-preview/Ubuntu1804-7.4.tar" | |
if [[ $PHP71 == "71" ]] | |
then | |
PHP71_EXTENSIONS_DIR=`php-config7.1 --extension-dir` | |
PHP71_CONFIG_DIR="/etc/php/7.1/" | |
fi | |
if [[ $PHP72 == "72" ]] | |
then | |
PHP72_EXTENSIONS_DIR=`php-config7.2 --extension-dir` | |
PHP72_CONFIG_DIR="/etc/php/7.2/" | |
fi | |
if [[ $PHP73 == "73" ]] | |
then | |
PHP73_EXTENSIONS_DIR=`php-config7.3 --extension-dir` | |
PHP73_CONFIG_DIR="/etc/php/7.3/" | |
fi | |
if [[ $PHP74 == "74" ]] | |
then | |
PHP74_EXTENSIONS_DIR=`php-config7.4 --extension-dir` | |
PHP74_CONFIG_DIR="/etc/php/7.4/" | |
fi | |
# Instalando CURL (necesario para los comandos de Microsoft) | |
echo "Instalando CURL|Wget" | |
{ | |
apt -y install curl wget | |
} > /dev/null 2>&1 | |
echo "Añadiendo Key de Microsoft" | |
# Añadiendo KEY | |
{ | |
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - | |
} > /dev/null 2>&1 | |
echo "Instalando repositorio de mssql" | |
{ | |
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list | |
} > /dev/null 2>&1 | |
# Actualizando lista de paquetes | |
echo "Actualizando paquetes" | |
{ | |
apt update | |
} > /dev/null 2>&1 | |
# Instalando herramientas de microsoft | |
echo "Instalando paquetes finales de Microsoft" | |
{ | |
ACCEPT_EULA=Y apt -y install msodbcsql17 | |
ACCEPT_EULA=Y apt -y install mssql-tools | |
} > /dev/null 2>&1 | |
# Descargando drivers | |
echo "Descargando y configurando drivers para php" | |
if [[ $PHP71_EXTENSIONS_DIR != "" ]] | |
then | |
echo "Instalando en $PHP71_EXTENSIONS_DIR los archivos $PHP71_UBUNTU1804_EXTENSION" | |
wget -qO- $PHP71_UBUNTU1804_EXTENSION | tar x -C $PHP71_EXTENSIONS_DIR --strip 1 | |
CONFIG_CLI_DIR="${PHP71_CONFIG_DIR}cli/conf.d/20-sqlsrv.ini" | |
CONFIG_FPM_DIR="${PHP71_CONFIG_DIR}fpm/conf.d/20-sqlsrv.ini" | |
echo "extension=php_pdo_sqlsrv_71_nts.so" > $CONFIG_CLI_DIR | |
echo "extension=php_sqlsrv_71_nts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_pdo_sqlsrv_71_ts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_sqlsrv_71_ts.so" >> $CONFIG_CLI_DIR | |
echo "extension=php_pdo_sqlsrv_71_nts.so" > $CONFIG_FPM_DIR | |
echo "extension=php_sqlsrv_71_nts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_pdo_sqlsrv_71_ts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_sqlsrv_71_ts.so" >> $CONFIG_FPM_DIR | |
service php7.1-fpm restart | |
fi | |
if [[ $PHP72_EXTENSIONS_DIR != "" ]] | |
then | |
echo "Instalando en $PHP72_EXTENSIONS_DIR los archivos $PHP72_UBUNTU1804_EXTENSION" | |
wget -qO- $PHP72_UBUNTU1804_EXTENSION | tar x -C $PHP72_EXTENSIONS_DIR --strip 1 | |
CONFIG_CLI_DIR="${PHP72_CONFIG_DIR}cli/conf.d/20-sqlsrv.ini" | |
CONFIG_FPM_DIR="${PHP72_CONFIG_DIR}fpm/conf.d/20-sqlsrv.ini" | |
echo "extension=php_pdo_sqlsrv_72_nts.so" > $CONFIG_CLI_DIR | |
echo "extension=php_sqlsrv_72_nts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_pdo_sqlsrv_72_ts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_sqlsrv_72_ts.so" >> $CONFIG_CLI_DIR | |
echo "extension=php_pdo_sqlsrv_72_nts.so" > $CONFIG_FPM_DIR | |
echo "extension=php_sqlsrv_72_nts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_pdo_sqlsrv_72_ts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_sqlsrv_72_ts.so" >> $CONFIG_FPM_DIR | |
service php7.2-fpm restart | |
fi | |
if [[ $PHP73_EXTENSIONS_DIR != "" ]] | |
then | |
echo "Instalando en $PHP73_EXTENSIONS_DIR los archivos $PHP73_UBUNTU1804_EXTENSION" | |
wget -qO- $PHP73_UBUNTU1804_EXTENSION | tar x -C $PHP73_EXTENSIONS_DIR --strip 1 | |
CONFIG_CLI_DIR="${PHP73_CONFIG_DIR}cli/conf.d/20-sqlsrv.ini" | |
CONFIG_FPM_DIR="${PHP73_CONFIG_DIR}fpm/conf.d/20-sqlsrv.ini" | |
echo "extension=php_pdo_sqlsrv_73_nts.so" > $CONFIG_CLI_DIR | |
echo "extension=php_sqlsrv_73_nts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_pdo_sqlsrv_73_ts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_sqlsrv_73_ts.so" >> $CONFIG_CLI_DIR | |
echo "extension=php_pdo_sqlsrv_73_nts.so" > $CONFIG_FPM_DIR | |
echo "extension=php_sqlsrv_73_nts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_pdo_sqlsrv_73_ts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_sqlsrv_73_ts.so" >> $CONFIG_FPM_DIR | |
service php7.3-fpm restart | |
fi | |
if [[ $PHP74_EXTENSIONS_DIR != "" ]] | |
then | |
echo "Instalando en $PHP74_EXTENSIONS_DIR los archivos $PHP74_UBUNTU1804_EXTENSION" | |
wget -qO- $PHP74_UBUNTU1804_EXTENSION | tar x -C $PHP74_EXTENSIONS_DIR --strip 1 | |
CONFIG_CLI_DIR="${PHP74_CONFIG_DIR}cli/conf.d/20-sqlsrv.ini" | |
CONFIG_FPM_DIR="${PHP74_CONFIG_DIR}fpm/conf.d/20-sqlsrv.ini" | |
echo "extension=php_pdo_sqlsrv_74_nts.so" > $CONFIG_CLI_DIR | |
echo "extension=php_sqlsrv_74_nts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_pdo_sqlsrv_74_ts.so" >> $CONFIG_CLI_DIR | |
echo "#extension=php_sqlsrv_74_ts.so" >> $CONFIG_CLI_DIR | |
echo "extension=php_pdo_sqlsrv_74_nts.so" > $CONFIG_FPM_DIR | |
echo "extension=php_sqlsrv_74_nts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_pdo_sqlsrv_74_ts.so" >> $CONFIG_FPM_DIR | |
echo "#extension=php_sqlsrv_74_ts.so" >> $CONFIG_FPM_DIR | |
service php7.4-fpm restart | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment