Created
December 20, 2023 15:15
-
-
Save chrishow/cb1895ae5d1a0d0c7735e8c6eebc5675 to your computer and use it in GitHub Desktop.
Adding pdo_sqlsrv support to Homestead for PHP8.0
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/sh | |
PHP_MSSQL_DRIVERS=Ubuntu2004-8.0 | |
PHP_MSSQL_RELEASE=5.11.0 | |
# 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_88_nts.so | |
sudo chown root:root php_sqlsrv_80_nts.so | |
# Modify permissions | |
sudo chmod 644 php_pdo_sqlsrv_80_nts.so | |
sudo chmod 644 php_sqlsrv_80_nts.so | |
# Move files | |
sudo mv php_pdo_sqlsrv_80_nts.so /usr/lib/php/20200930 | |
sudo mv php_sqlsrv_80_nts.so /usr/lib/php/20200930 | |
# Cleanup | |
cd .. && sudo rm -rf $PHP_MSSQL_DRIVERS | |
# Create new .ini file | |
sudo touch /etc/php/8.0/mods-available/pdo_sqlsrv.ini | |
echo "extension=php_pdo_sqlsrv_80_nts.so" | sudo tee -a /etc/php/8.0/mods-available/pdo_sqlsrv.ini > /dev/null | |
# Create Symlinks | |
sudo ln -sfn /etc/php/8.0/mods-available/pdo_sqlsrv.ini /etc/php/8.0/cli/conf.d/20-pdo_sqlsrv.ini | |
sudo ln -sfn /etc/php/8.0/mods-available/pdo_sqlsrv.ini /etc/php/8.0/fpm/conf.d/20-pdo_sqlsrv.ini | |
# Enable PHP extension | |
echo "extension=php_sqlsrv_80_nts.so" | sudo tee -a /etc/php/8.0/cli/php.ini > /dev/null | |
echo "extension=php_sqlsrv_80_nts.so" | sudo tee -a /etc/php/8.0/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/20.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 php8.0-fpm restart | |
sudo apachectl restart |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Store this on the mapped folder and invoke it in Homestead/after.sh