PHP安装sqlserver,为PHP docker映像安装/配置SQL Server PDO驱动程序

我有一个简单的docker文件,如下所示:

FROM php:7.2-apache

COPY src/ /var/www/html/

通常,为了安装用于Mongo或MySQL连接的驱动程序,我可以通过将以下内容添加到dockerfile中来实现:

docker-php-ext-install mongo

在这种情况下,我想将php应用程序连接到SQL Server数据库,并且我了解为php 7.x做到这一点的最佳方法是使用PDO驱动程序,但是我不熟悉如何在dockerfile中配置它.

我试过进行pecl安装,例如添加:

RUN pecl install sqlsrv pdo_sqlsrv

但是,这失败了,并且出现了一些错误,这些错误似乎并没有向我指出正确的方向.

我只是在寻找一种简单的方法来在dockerfile或使用docker run中完成此操作.

有关更多信息,这是我遇到的错误:

/tmp/pear/temp/sqlsrv/shared/xplat.h:30:17: fatal error: sql.h: No such file or directory

#include

^

compilation terminated.

Makefile:194: recipe for target 'conn.lo' failed

make: *** [conn.lo] Error 1

ERROR: `make' failed

The command '/bin/sh -c pecl install sqlsrv pdo_sqlsrv && docker-php-ext-enable pdo_sqlsrv' returned a non-zero code: 1

谢谢大家

解决方法:

你得到答案了吗?我按照以下步骤进行操作. (unixodbc-dev软件包应该使您摆脱了pecl的安装.)

在Docker文件中:

RUN apt-get -y install unixodbc-dev

RUN pecl install sqlsrv pdo_sqlsrv

然后,您必须对php.ini添加一些更改以启用sqlserver.

获取php.ini的本地副本并添加以下行:

extension=pdo_sqlsrv.so

extension=sqlsrv.so

然后将本地php.ini复制到docker映像中(我的文件位于本地“ config”文件夹中).

在Docker文件中:

COPY config/php.ini /usr/local/etc/php/

标签:docker,php,sql-server,pdo

来源: https://codeday.me/bug/20191108/2009301.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值