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 协议》,转载必须注明作者和本文链接