php容器中(docker)新增sqlserver扩展

容器内安装

容器中新增Microsoft ODBC Driver for SQL Server 驱动

参考网址:https://docs.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15
备注:本人容器操作系统版本是 Debian 10
根据个人实际操作系统找到对应操作系统对应版本按指示安装执行即可

curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
##出现 gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation 
##这个错误,执行apt-get update && apt-get install -y gnupg2 即可

#Download appropriate package for the OS version
#Choose only ONE of the following, corresponding to your OS version

#Debian 8
curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 9
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list

#Debian 10
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list

exit
apt-get update
ACCEPT_EULA=Y apt-get install msodbcsql17
# optional: for bcp and sqlcmd
ACCEPT_EULA=Y apt-get install mssql-tools
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
apt-get install unixodbc-dev
# optional: kerberos library for debian-slim distributions
> apt-get install libgssapi-krb5-2

安装sqlServer php扩展

我们通过docker-php-ext-install安装扩展

## 创建并初始化 /usr/src/php目录
docker-php-source extract

cd /tmp

## 下载扩展  下载扩展地址:https://pecl.php.net/package/pdo_sqlsrv
curl -L -o /tmp/pdo_sqlsrc.tgz  https://pecl.php.net/get/pdo_sqlsrv-5.9.0.tgz

curl -L -o /tmp/sqlsrc.tgz  https://pecl.php.net/get/sqlsrv-5.9.0.tgz

## 解压
tar zxvf pdo_sqlsrv.tgz

tar zxvf sqlsrv.tgz

## 移动到php扩展目录 
mv pdo_sqlsrv-5.9.0  /usr/src/php/ext/pdo_sqlsrv

mv sqlsrv-5.9.0  /usr/src/php/ext/sqlsrv

## 安装扩展
docker-php-ext-install pdo_sqlsrv

docker-php-ext-install sqlsrv

## 查看扩展是否安装上
php -m |grep sqlsrv

## 重启php容器,扩展已经安装完毕

Docker php安装扩展步骤详解

——————————————————————————————————
PHP版本更新,容器重新构建后,再次安装完成。程序连接sqlserver出现了一个
SSL routines:ssl_choose_client_version:unsupported protocol

[Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol]

查了资料以后,发现Debian现在至少需要TLS 1.2版本而不是TLS 1.0版本。如果另一端不支持TLS 1.2或更高版本,则将出现一些连接错误。

建议将服务器上的openvpn升级到支持TLS 1.2的较新版本
因为我们sqlserver服务器的历史原因,我选择了将MinProcotol修改为TLSv1(修改TLSv1.1还是报原来那个错误)。

vim /etc/ssl/openssl.cnf

在文件末尾有:

[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=2

参考资料

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要创建一个SQL Server容器,你可以使用以下命令引用\[1\]: ``` docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=SqlServer@root12' -p 11433:1433 -d --name=mssqlserver docker.io/liaisonintl/mssql-server-linux ``` 这个命令会在容器启动一个SQL Server实例,并将容器的1433端口映射到主机的11433端口。容器的名称是mssqlserver。你还需要设置ACCEPT_EULA和SA_PASSWORD环境变量,ACCEPT_EULA设置为Y表示接受许可协议,SA_PASSWORD是SQL Server的系统管理员密码。 #### 引用[.reference_title] - *1* [docker 部署sqlserver](https://blog.csdn.net/bai920708/article/details/127394109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [使用docker创建mysql容器](https://blog.csdn.net/weixin_61407147/article/details/127321290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [9. docker 容器执行sql文件](https://blog.csdn.net/qq_37992410/article/details/126870789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值