Last active
March 15, 2025 10:04
-
-
Save ethanclevenger91/8134ef434ec92d3d829be0b6beb714d9 to your computer and use it in GitHub Desktop.
Install PHP SQLSRV database extension on Laravel Homestead (probably works as a Laravel Forge recipe, too). Thanks @richvida
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 | |
PHP_MSSQL_DRIVERS=Ubuntu18-7.3 | |
PHP_MSSQL_RELEASE=5.6.1 | |
# Download and extract phpmysql drivers | |
sudo wget "https://github.com/Microsoft/msphpsql/releases/download/v${PHP_MSSQL_RELEASE}/${PHP_MSSQL_DRIVERS}.tar" -O - | tar -x | |
# Change Directory | |
cd $PHP_MSSQL_DRIVERS | |
# Change owner/group | |
sudo chown root:root php_pdo_sqlsrv_73_nts.so | |
sudo chown root:root php_sqlsrv_73_nts.so | |
# Modify permissions | |
sudo chmod 644 php_pdo_sqlsrv_73_nts.so | |
sudo chmod 644 php_sqlsrv_73_nts.so | |
# Move files | |
sudo mv php_pdo_sqlsrv_73_nts.so /usr/lib/php/20170718 | |
sudo mv php_sqlsrv_73_nts.so /usr/lib/php/20170718 | |
# Cleanup | |
cd .. && sudo rm -rf $PHP_MSSQL_DRIVERS | |
# Create new .ini file | |
sudo touch /etc/php/7.3/mods-available/pdo_sqlsrv.ini | |
echo "extension=php_pdo_sqlsrv_73_nts.so" | sudo tee -a /etc/php/7.3/mods-available/pdo_sqlsrv.ini > /dev/null | |
# Create Symlinks | |
sudo ln -sfn /etc/php/7.3/mods-available/pdo_sqlsrv.ini /etc/php/7.3/cli/conf.d/20-pdo_sqlsrv.ini | |
sudo ln -sfn /etc/php/7.3/mods-available/pdo_sqlsrv.ini /etc/php/7.3/fpm/conf.d/20-pdo_sqlsrv.ini | |
# Enable PHP extension | |
echo "extension=php_sqlsrv_73_nts.so" | sudo tee -a /etc/php/7.3/cli/php.ini > /dev/null | |
echo "extension=php_sqlsrv_73_nts.so" | sudo tee -a /etc/php/7.3/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.3-fpm restart | |
sudo service nginx restart |
This thread is a lifesaver 🫶
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Updated for PHP 8.3