sudo phpdismod -v 7.3 sqlsrv pdo_sqlsrv

sudo apt-get -y install php-pear php7.4-dev
sudo update-alternatives –set php /usr/bin/php7.4
sudo update-alternatives –set phar /usr/bin/phar7.4
sudo update-alternatives –set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives –set phpize /usr/bin/phpize7.4
sudo update-alternatives –set php-config /usr/bin/php-config7.4

sudo pecl uninstall -r sqlsrv
sudo pecl uninstall -r pdo_sqlsrv

apt-get install unixodbc-dev
sudo pecl -d php_suffix=7.4 install sqlsrv
sudo pecl -d php_suffix=7.4 install pdo_sqlsrv
sudo su
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
exit
sudo phpenmod -v 7.4 sqlsrv pdo_sqlsrv
sudo service apache2 restart

php -m | grep sql

# 禁用 PHP 8.1
sudo a2dismod php8.1

#
禁用輸出模塊 PHP 8.1。
要激活新配置,您需要運行:
systemctl restart apache2

# Enable PHP 7.4
sudo a2enmod php7.4

# Output
Considering dependency mpm_prefork for php8.0:
Considering conflict mpm_event for mpm_prefork:
Considering conflict mpm_worker for mpm_prefork:
Module mpm_prefork already enabled
Considering php8.0 的 php5 衝突:
啟用模塊 php8.0。
要激活新配置,您需要運行:
systemctl restart apache2

# Restart Apache Web Server
sudo service apache2 restart

Shell Script


#!/bin/bash

#ubuntu 20.04
#php8.1

# install php ppa
apt -y install software-properties-common
add-apt-repository ppa:ondrej/php -y
apt update

# install php w/o apache
apt -y install php8.1-cli php8.1-mbstring php-pear php8.1-dev php8.1-curl php8.1-gd php8.1-zip php8.1-xml

# install sqlcmd
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add –
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | tee /etc/apt/sources.list.d/mssql-tools.list
apt update
ACCEPT_EULA=Y apt -y install msodbcsql17
echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bash_profile
echo ‘export PATH=”$PATH:/opt/mssql-tools/bin”‘ >> ~/.bashrc
source ~/.bashrc
apt -y install unixodbc-dev

# install sqlsrv driver
# if this fails install sqlsrv-5.5.0preview & pdo_sqlsrv-5.5.0preview
pecl install sqlsrv pdo_sqlsrv
printf “; priority=20\nextension=sqlsrv.so\n” > /etc/php/8.1/mods-available/sqlsrv.ini
printf “; priority=30\nextension=pdo_sqlsrv.so\n” > /etc/php/8.1/mods-available/pdo_sqlsrv.ini
phpenmod -v 8.1 sqlsrv pdo_sqlsrv