Last active
August 25, 2021 13:00
-
-
Save irineujunior/7c1fd4a4cdb12b5060fb0de3b948e838 to your computer and use it in GitHub Desktop.
Install SQL Server PHP Driver on Homestead
This file contains hidden or 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/sh | |
# | ============================================================================ | |
# | SQL Server PHP Driver on Homestead | |
# | ============================================================================ | |
# | Ubuntu LTS | Settler | Homestead | |
# | ============================================================================ | |
# | 20.04 | 11.x | 12.x | |
# | ============================================================================ | |
# | Copy this file to ~/code | |
# | Inside the box, run `cd ~ && sudo ./install-mssql.sh` | |
# | ============================================================================ | |
# | Install ODBC drivers | |
# | ============================================================================ | |
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - | |
#Ubuntu 20.04 | |
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > /etc/apt/sources.list.d/mssql-release.list | |
sudo apt-get update | |
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17 | |
# optional: for bcp and sqlcmd | |
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools | |
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc | |
source ~/.bashrc | |
# optional: for unixODBC development headers | |
sudo apt-get install -y unixodbc-dev | |
# | ============================================================================ | |
# | Install PHP (8.0) drivers | |
# | ============================================================================ | |
php80 | |
# drivers | |
sudo pecl channel-update pecl.php.net | |
sudo pecl install sqlsrv | |
sudo pecl install pdo_sqlsrv | |
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/8.0/mods-available/sqlsrv.ini | |
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/8.0/mods-available/pdo_sqlsrv.ini | |
sudo phpenmod -v 8.0 sqlsrv pdo_sqlsrv | |
/etc/init.d/php8.0-fpm restart | |
# | ============================================================================ | |
# | Install PHP (7.4) drivers | |
# | ============================================================================ | |
# download and extract phpmysql drivers | |
wget "https://github.com/microsoft/msphpsql/releases/download/v5.9.0/Ubuntu2004-7.4.tar" | |
# extract | |
tar -xf Ubuntu2004-7.4.tar --no-same-owner | |
# change directory | |
cd Ubuntu2004-7.4 | |
# rename to default | |
sudo mv php_pdo_sqlsrv_74_nts.so pdo_sqlsrv.so | |
sudo mv php_sqlsrv_74_nts.so sqlsrv.so | |
# move files | |
sudo mv pdo_sqlsrv.so /usr/lib/php/20190902 | |
sudo mv sqlsrv.so /usr/lib/php/20190902 | |
# change owner/group | |
sudo chown root:root /usr/lib/php/20190902/pdo_sqlsrv.so | |
sudo chown root:root /usr/lib/php/20190902/sqlsrv.so | |
# modify permissions | |
sudo chmod 644 /usr/lib/php/20190902/pdo_sqlsrv.so | |
sudo chmod 644 /usr/lib/php/20190902/sqlsrv.so | |
# cleanup | |
cd .. && rm -rf Ubuntu2004-7.4 && rm Ubuntu2004-7.4.tar | |
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/7.4/mods-available/sqlsrv.ini | |
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/7.4/mods-available/pdo_sqlsrv.ini | |
sudo phpenmod -v 7.4 sqlsrv pdo_sqlsrv | |
/etc/init.d/php7.4-fpm restart | |
# | ============================================================================ | |
# | Install PHP (7.3) drivers | |
# | ============================================================================ | |
# download and extract phpmysql drivers | |
wget "https://github.com/microsoft/msphpsql/releases/download/v5.9.0/Ubuntu2004-7.3.tar" | |
# extract | |
tar -xf Ubuntu2004-7.3.tar --no-same-owner | |
# change Directory | |
cd Ubuntu2004-7.3 | |
# rename to default | |
sudo mv php_pdo_sqlsrv_73_nts.so pdo_sqlsrv.so | |
sudo mv php_sqlsrv_73_nts.so sqlsrv.so | |
# move files | |
sudo mv pdo_sqlsrv.so /usr/lib/php/20180731 | |
sudo mv sqlsrv.so /usr/lib/php/20180731 | |
# change owner/group | |
sudo chown root:root /usr/lib/php/20180731/pdo_sqlsrv.so | |
sudo chown root:root /usr/lib/php/20180731/sqlsrv.so | |
# modify permissions | |
sudo chmod 644 /usr/lib/php/20180731/pdo_sqlsrv.so | |
sudo chmod 644 /usr/lib/php/20180731/sqlsrv.so | |
# cleanup | |
cd .. && rm -rf Ubuntu2004-7.3 && rm Ubuntu2004-7.3.tar | |
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/7.3/mods-available/sqlsrv.ini | |
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/7.3/mods-available/pdo_sqlsrv.ini | |
sudo phpenmod -v 7.3 sqlsrv pdo_sqlsrv | |
/etc/init.d/php7.3-fpm restart | |
# | ============================================================================ | |
# | Install PHP (7.2) drivers | |
# | ============================================================================ | |
# download and extract phpmysql drivers | |
wget "https://github.com/microsoft/msphpsql/releases/download/v5.6.1/Ubuntu1810-7.2.tar" | |
# extract | |
tar -xf Ubuntu1810-7.2.tar --no-same-owner | |
# change directory | |
cd Ubuntu1810-7.2 | |
# rename to default | |
sudo mv php_pdo_sqlsrv_72_nts.so pdo_sqlsrv.so | |
sudo mv php_sqlsrv_72_nts.so sqlsrv.so | |
# move files | |
sudo mv pdo_sqlsrv.so /usr/lib/php/20170718 | |
sudo mv sqlsrv.so /usr/lib/php/20170718 | |
# change owner/group | |
sudo chown root:root /usr/lib/php/20170718/pdo_sqlsrv.so | |
sudo chown root:root /usr/lib/php/20170718/sqlsrv.so | |
# modify permissions | |
sudo chmod 644 /usr/lib/php/20170718/pdo_sqlsrv.so | |
sudo chmod 644 /usr/lib/php/20170718/sqlsrv.so | |
# cleanup | |
cd .. && sudo rm -rf Ubuntu1810-7.2 && rm Ubuntu1810-7.2.tar | |
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 | |
sudo phpenmod -v 7.2 sqlsrv pdo_sqlsrv | |
/etc/init.d/php7.2-fpm restart | |
# | ============================================================================ | |
# | Install PHP (7.1) drivers | |
# | ============================================================================ | |
# download and extract phpmysql drivers | |
wget "https://github.com/microsoft/msphpsql/releases/download/v5.6.1/Ubuntu1810-7.1.tar" | |
# extract | |
tar -xf Ubuntu1810-7.1.tar --no-same-owner | |
# change directory | |
cd Ubuntu1810-7.1 | |
# rename to default | |
sudo mv php_pdo_sqlsrv_71_nts.so pdo_sqlsrv.so | |
sudo mv php_sqlsrv_71_nts.so sqlsrv.so | |
# move files | |
sudo mv pdo_sqlsrv.so /usr/lib/php/20160303 | |
sudo mv sqlsrv.so /usr/lib/php/20160303 | |
# change owner/group | |
sudo chown root:root /usr/lib/php/20160303/pdo_sqlsrv.so | |
sudo chown root:root /usr/lib/php/20160303/sqlsrv.so | |
# modify permissions | |
sudo chmod 644 /usr/lib/php/20160303/pdo_sqlsrv.so | |
sudo chmod 644 /usr/lib/php/20160303/sqlsrv.so | |
# cleanup | |
cd .. && sudo rm -rf Ubuntu1810-7.1 && rm Ubuntu1810-7.1.tar | |
printf "; priority=20\nextension=sqlsrv.so\n" > /etc/php/7.1/mods-available/sqlsrv.ini | |
printf "; priority=30\nextension=pdo_sqlsrv.so\n" > /etc/php/7.1/mods-available/pdo_sqlsrv.ini | |
sudo phpenmod -v 7.1 sqlsrv pdo_sqlsrv | |
/etc/init.d/php7.1-fpm restart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment