linux站点服务连接sqlsrv数据库

技术知识
0 3145
小师傅 小师傅2022-06-01
积分:2397

1.      由于使用的sql server数据库,所以需要安装sqlsrv驱动来连接,我先使用的时centos7作为服务器系统,用的thinkphp6框架,页面能正常访问打开,每次连接数据库查询时就报错,apache报错503,nginx报错502;一直没找到解决办法,网上查询的办法也都试过了,也不行;

2.      后面用BC-Linux系统来安装服务器,该系统是在centos的基础上改进的,我用的是Bc-Linux8.2版本,下载地址:http://mirrors.bclinux.org/;安装好后,我使用宝塔面板,安装apache和php74;,

3.      加入微软的源

curl https://packages.microsoft.com/config/rhel/8/prod.repo > /etc/yum.repos.d/mssqlrelease.repo

4.      防止冲突先卸载原有版本(可选)

yum remove unixODBC

5.      安装驱动(三个都要装上,缺一不可)

yum install msodbcsql17 mssql-tools unixODBC-devel

6.      下载pdo_sqlsrv扩展包

https://github.com/microsoft/msphpsql/releases

7.      下载扩展5.10.0的扩展
5.8.0开始,sqlsrv扩展不再支持SQL Server2008R2,所以需要老一点的版本。

这里我用的5.10.0的扩展
https://github.com/microsoft/msphpsql/releases/download/v5.10.0-preview/CentOS8-7.4.tar

8.     解压
tar xf CentOS8-7.4.tar

9.     进入解压目录
cd CentOS8-7.4

10. 执行命令
php_pdo_sqlsrv_74_nts.so, php_ sqlsrv_74_nts.so复制到对应的extension目录

我的位置是:

/www/server/php/lib/php/extensions/no-debug-zts-20190902/

11.  更新php.ini
修改/server/php/etc/php.ini 最后一个extension= 后面添加上extension = php _sqlsrv_74_ntsextension = php_pdo_sqlsrv_74_nts

或通过宝塔修改该配置;

12.  修改ssl协议的版本
vi /etc/crypto-policies/back-ends/opensslcnf.config
MinProtocol=TLSv1.3改为
MinProtocol=TLSv1

 

如果不修改,在连接sqlserver2008r2数据库时,会提示:SSL routines:ssl_choose_client_version:unsupported protocol
然后重启服务器reboot
启动服务器即可搞定。


精选帖子
Android 可可影视 v3.3.6无广告纯净版 3091
Android QQ音乐 v11.3.7 定制版解锁免费听歌无广告版 3672
Android 草图大师SKP v1.5 解锁会员版 9024
Android OmoFun追漫神器 v4.2.1 无广告绿色版 6066
AdobeGenP Adobe全家桶系列激活工具 v3.5.0/3.4.14.1 绿色版 6647
Android 七猫免费听书 v1.4 解锁高级版 5055
超良心的抢票神器——Bypass1.16 4788
Android 玲珑加速器 v6.10.9.40 解锁无限时间 3441
Android 大师兄影视 v3.3.8 去广告会员版 2568
热门帖子
一键激活Win系统和Office办公软件,最强电脑激活KMS HUE工具,免费永久可用,支持win系统使用 58
得间免费小说 v5.5.8.1 免费网文追书APP 54
酷我音乐 v12.1.8.2 无损音乐播放APP 去广告解锁会员版 51
ChatGPT+Codex电脑自动化课:环境搭建×三大核心实战×全场景应用拓展×AI自主操控电脑×零基础上手 51
豆丁视频 v3.3.0 高清影视播放 免费追剧APP 46
蚂蚁视界 v6.7.0 高清影视追剧APP 全品类视频播放软件 45