PHP 7.2.9-1+ubuntu18.04.1 安裝 sqlsrv 擴展
參考文章,感謝作者(建議先看,不看也可以) https://serverpilot.io/docs/how-to-install-the-php-sqlsrv-extension
最全的官方安裝ODBC,各種環境下的都有。(一定要看)https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017
centOs環境 直接跳去這里看這篇文章https://blog.csdn.net/gdali/article/details/82912542(親測可用[服務器是CentOs,所以也搭建了!])
(注意 我的php目錄是“/etc/php/7.2”, 凡是用到php 的地方記得替換成自己的目錄)
curl -s https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo bash -c "curl -s https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list" sudo apt-get update
如果遇到這樣的錯誤。沒有錯誤的可以跳過
(這里是時間過期了)執行命令 date -s 12/14/2018 && date -s 20:19:00 && sudo hwclock --systohc 注意改成當前時間即可
sudo ACCEPT_EULA=Y apt-get -y install msodbcsql17 mssql-tools sudo apt-get -y install unixodbc-dev sudo apt-get -y install gcc g++ make autoconf libc-dev pkg-config sudo pecl install sqlsrv sudo pecl install pdo_sqlsrv (pecl command not found ) (如果pecl執行不成功先執行以下2條命令) (sudo apt-get install php-pear php-dev)
(/etc/php/conf.d 代表的是你本機的php安裝路徑)
sudo bash -c "echo extension=sqlsrv.so > /etc/php/conf.d/sqlsrv.ini" sudo bash -c "echo extension=pdo_sqlsrv.so > /etc/php/conf.d/pdo_sqlsrv.ini" sudo service php-fpm restart
在 phpinfo 中有在 php -m 中沒有,在 phpinfo 中有在 php -i 中沒有
phpinfo 用的是fpm模式 查看這個字段 Loaded Configuration File 定位php.ini 的位置
php -m 或者 php -i 使用的是cli模式
php -i | grep php.ini 查看cli模式下的 php.ini 的位置
所以后面需要這樣配置(conf.d 中有文件了,就不需要再php.ini里配置了。)
(注意后面的為你自己的php目錄) bash -c "echo extension=sqlsrv.so > /etc/php/7.2/cli/conf.d/sqlsrv.ini" bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/cli/conf.d/pdo_sqlsrv.ini" bash -c "echo extension=sqlsrv.so > /etc/php/7.2/fpm/conf.d/sqlsrv.ini" bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/fpm/conf.d/pdo_sqlsrv.ini"
檢驗是否安裝完成
php -i | grep -i sqlsrv
顯示的大致是一下內容,說明安裝成功
phpinfo 中也有了
綜合安裝代碼

sudo date -s 12/14/2018 && sudo date -s 20:19:00 && sudo hwclock --systohc (注意換成自己當前時間) curl -s https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - && sudo bash -c "curl -s https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list" && sudo apt-get update && sudo ACCEPT_EULA=Y apt-get -y install msodbcsql17 mssql-tools && sudo apt-get -y install unixodbc-dev && sudo apt-get -y install gcc g++ make autoconf libc-dev pkg-config && sudo apt-get install php-pear php-dev && sudo pecl install sqlsrv && sudo pecl install pdo_sqlsrv && bash -c "echo extension=sqlsrv.so > /etc/php/7.2/cli/conf.d/sqlsrv.ini" && bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/cli/conf.d/pdo_sqlsrv.ini" && bash -c "echo extension=sqlsrv.so > /etc/php/7.2/fpm/conf.d/sqlsrv.ini" && bash -c "echo extension=pdo_sqlsrv.so > /etc/php/7.2/fpm/conf.d/pdo_sqlsrv.ini" && sudo service php7.2-fpm restart
卸載
sudo rm /etc/php/7.2/cli/conf.d/sqlsrv.ini sudo rm /etc/php/7.2/fpm/conf.d/sqlsrv.ini sudo rm /etc/php/7.2/cli/conf.d/pdo_sqlsrv.ini sudo rm /etc/php/7.2/fpm/conf.d/pdo_sqlsrv.ini sudo peclX.Y-sp uninstall sqlsrv sudo peclX.Y-sp uninstall pdo_sqlsrv sudo service php7.2-fpm restart