linux站点服务连接sqlsrv数据库

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