Mac Ox 使用 Docker 安装宝塔环境,并安装 SqlServer 扩展

背景
新入职一家公司,要求必须使用宝塔环境,由于个人笔记本是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框架要解除一些禁用函数,具体的我就不做赘诉了。
接下来给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

如果发现这个链接失效了,可以到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.4.0preview.tgz

5.3.0支持php7以上的版本,可自行选择版本
下载pdo_sqlsrv扩包 pecl.php.net/package/pdo_sqlsrv
6、解压扩展包并进入解压目录

tar -zxvf pdo_sqlsrv-5.4.0preview.tgz
cd pdo_sqlsrv-5.4.0preview

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  # 删除容器,慎用容器删除后需重装
本作品采用《CC 协议》,转载必须注明作者和本文链接
Herbie
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!