堡塔面板 bt.cn 安装 SQL Server 扩展

来源 https://learnku.com/articles/45739

背景新入职一家公司,要求必须使用宝塔环境,由于个人笔记本是 macbookpro, 对于宝塔兼容性不是很好就在本地搭建了一个环境,开发的项目甲方要求的数据库是 SqlServer,巧的是我安装的 php 版本自带,省了好多功夫。但是在开发过程中发现了好多问题,model 实例 toJson 的时候报 Date missing 错误,数据库取出的日期格式错误等等一系列问题,没办法只能和其他同事同步开发环境了,准备在 docker 上镜像一个宝塔出来;说干就干,docker 的安装请参考文档。

镜像宝塔

docker run -tid –name baota -p 80:80 -p 443:443 -p 8888:8888 -p 1433:1433 -p 3306:3306 -p 6379:6379 -p 8000:8000 -p 8080:8080 –privileged=true –shm-size=1g –restart always -v ~/wwwroot:/www/wwwroot pch18/baota:clear

仓库地址:hub.docker.com/r/pch18/baota
~/wwwroot 指的是本机目录可自行更换。

镜像安装成功之后在浏览器地址栏输入:localhost:8888 进入宝塔页面,默认账户:unsername,密码:password,在页面中自行安装 php、nginx 等软件;注意:要使用 laravel 框架要解除一些禁用函数,具体的我就不做赘诉了。

(如果权限不足,su root 命令临时切换用户)

接下来给 PHP 安装 SqlServer 扩展;此方法安装 php7 以上的版本,其他版本对应自行到官网查询。

1、进入宝塔容器

docker exec -it baota bash

2、加入微软的源

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

如果发现这个链接失效了,可以到 https://packages.microsoft.com/config/rhel 查找

3、防止冲突先卸载原有版本,可跳过

yum remove unixODBC

4、安装驱动

yum install msodbcsql mssql-tools unixODBC-devel

5、下载 pdo_sqlsrv 扩展包

wget http://pecl.php.net/get/pdo_sqlsrv-5.9.0.tgz
5.9.0 支持 php7 以上的版本,可自行选择版本下载 pdo_sqlsrv 扩包 http://pecl.php.net/package/pdo_sqlsrv

6、解压扩展包并进入解压目录
tar -zxvf pdo_sqlsrv-5.9.0.tgz
cd pdo_sqlsrv-5.9.0

7、解析配置并安装
/www/server/php/72/bin/phpize
./configure –with-php-config=/www/server/php/72/bin/php-config
make && make install
注意安装的路径与 php 版本

8、在 php.ini 中加入扩展
打开 php.ini 查找”extension=”,在最后一个后面加上 extension = pdo_sqlsrv.so
也可执行 shell
echo “extension = pdo_sqlsrv.so” >> /www/server/php/72/etc/php.ini

9、重启 php 并查看扩展。

10、补充
docker stop baota # 停止容器
docker start baota # 启动容器
docker rm baota # 删除容器,慎用,容器删除后需重装

[结束]

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注