PHP运行环境镜像构建
PHP7中访问SqlServer需要安装sqlsrv 和 pdo_sqlsrv,在此之前需要安装一此必备依赖,如msodbcsql 和 unixodbc-dev,由于SqlServer暂时不支持alpine,所以选择jessie,尽量使镜像保持最小,构建脚本如下:
1 | FROM php:7.1-fpm-jessie |
启动本地开发需要的SqlServer服务
由于微软官方提供的SqlServer镜像,无法通过环境变量配置的方便创建数据库,故选择mcmoe/mssqldocker镜像,
使用docker-compose配置方式如下:
1 | version: '3.2' |
需要注意的是,MSSQL密码(即上面的SA_PASSWORD和MSSQL_PASSWORD)必须至少8个字符长,包含大写,小写和数字,否则数据库会创建失败
连接访问数据库
在程序中配置数据库的地方,配置DSN如下
1 | sqlsrv:Server=mssql;Database=dev |
sqlsrv 为驱动名称
注:如果是使用Yii2框架,可以使用我构建好的镜像:zacksleo/php:7.1-fpm-mssql