Cómo instalar drivers de SQL Server para PHP oficiales de Microsoft

php-sql-server

Primero que nada necesitamos tener instalado PHP por obvios motivos, si no lo tenemos podemos instalarlo del siguiente modo…

sudo apt install php7.2

 

Como primer requisito necesitamos instalar ODBC Driver 17 para SQL Server oficial de Microsoft

sudo su 
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Ubuntu 14.04
curl https://packages.microsoft.com/config/ubuntu/14.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Ubuntu 16.04
curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Ubuntu 18.04
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Ubuntu 18.10
curl https://packages.microsoft.com/config/ubuntu/18.10/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Ubuntu 19.04
curl https://packages.microsoft.com/config/ubuntu/19.04/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install unixodbc-dev

 

Si estamos detrás de un servidor proxy necesitmaos configurar e instalar lo siguiente

pear config-set http_proxy http://username:password@yourproxy:80
sudo apt-get install php7.2-dev

 

Luego instalamos los divers propiamente dichos

sudo pecl install sqlsrv
sudo pecl install pdo_sqlsrv
sudo su
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/7.2/mods-available/sqlsrv.ini
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/7.2/mods-available/pdo_sqlsrv.ini
exit
sudo phpenmod -v 7.2 sqlsrv pdo_sqlsrv

 

Ahora nos toca instalar el servidor web apache (si aún no lo tenemos) y configurar la carga del nuevo driver

sudo su
apt-get install libapache2-mod-php7.2 apache2
a2dismod mpm_event
a2enmod mpm_prefork
a2enmod php7.2
exit

 

Por último reiniciamos apache y ya podemos utilizar el driver oficial de SQL Server provisto por Microsoft

sudo service apache2 restart

 

Eso es todo, ya contamos con acceso a cualquier base de datos SQL Server desde PHP.