Skip to content

Instantly share code, notes, and snippets.

@mikeqci
Last active May 2, 2023 18:17
Show Gist options
  • Save mikeqci/ce932d3f1c88ff50c1c5ea16dd5c9276 to your computer and use it in GitHub Desktop.
Save mikeqci/ce932d3f1c88ff50c1c5ea16dd5c9276 to your computer and use it in GitHub Desktop.
Install MSSQL support on Homestead (ubuntu 20.04 with PHP 8).
# use homestead ssh to enter homestead
# this does NOT install a SQL server... it enables the MSSQL PDO so you can connect to one
# switch to php 8.1 by running
php81
#credit: i stole some of this from conandrum https://github.com/microsoft/msphpsql/issues/1145
sudo su
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install msodbcsql17
sudo apt-get install unixodbc-dev
sudo pecl install sqlsrv-5.10.1
sudo pecl install pdo_sqlsrv-5.10.1
# add extensions to php.ini
cd /etc/
sudo nano /etc/php/8.1/phpdbg/conf.d/10-sqlsrv.ini
#write this to the ini
extension=sqlsrv.so
sudo nano /etc/php/8.1/fpm/conf.d/10-sqlsrv.ini
#write this to the ini
extension=sqlsrv.so
sudo nano /etc/php/8.1/phpdbg/conf.d/10-pdo_sqlsrv.ini
#write this to the ini
extension=pdo_sqlsrv.so
sudo nano /etc/php/8.1/fpm/conf.d/10-pdo_sqlsrv.ini
#write this to the ini
extension=pdo_sqlsrv.so
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list
exit
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev
#copy over those inis to your cli
cd /etc/php/8.1
sudo cp phpdbg/conf.d/10-sqlsrv.ini cli/conf.d/
sudo cp phpdbg/conf.d/10-pdo_sqlsrv.ini cli/conf.d/
# Now exit from homestead ssh and run
exit
homestead halt
homestead up
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment