- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试连接到sqlserver数据库时出现此错误:
Array ( [0] => Array ( [0] => IMSSP [SQLSTATE] => IMSSP [1] => -49 [code] => -49 [2] => This extension
requires the Microsoft ODBC Driver for SQL Server. Access the following URL to download the ODBC
Driver for SQL Server for x64: https://go.microsoft.com/fwlink/?LinkId=163712 [message] => This
extension requires the Microsoft ODBC Driver for SQL Server. Access the following URL to download the
ODBC Driver for SQL Server for x64: https://go.microsoft.com/fwlink/?LinkId=163712 ) )
FROM microsoft/mssql-tools as mssql
FROM php:7.2-fpm-alpine
COPY --from=mssql /opt/microsoft/ /opt/microsoft/
COPY --from=mssql /opt/mssql-tools/ /opt/mssql-tools/
COPY --from=mssql /usr/lib/libmsodbcsql-13.so /usr/lib/libmsodbcsql-13.so
RUN apk update \
&& apk add --no-cache git mysql-client curl libmcrypt libmcrypt-dev openssh-client icu-dev
unixodbc-dev \
libxml2-dev freetype-dev libpng-dev libjpeg-turbo-dev g++ make autoconf \
&& docker-php-source extract \
&& pecl install xdebug redis \
&& docker-php-ext-enable xdebug redis \
&& docker-php-source delete \
&& docker-php-ext-install pdo_mysql soap intl zip \
&& pecl install \
sqlsrv \
pdo_sqlsrv \
&& docker-php-ext-enable --ini-name 30-sqlsrv.ini sqlsrv \
&& docker-php-ext-enable --ini-name 35-pdo_sqlsrv.ini pdo_sqlsrv \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_port=10000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_handler=dbgp" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
&& echo "xdebug.remote_connect_back=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
#&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& rm -rf /tmp/*
CMD ["php-fpm", "-F"]
WORKDIR /var/www/cssp
EXPOSE 9000
最佳答案
在下面尝试使用DockerFile
FROM microsoft/mssql-tools as mssql
FROM php:7.2-fpm-alpine
COPY --from=mssql /opt/microsoft/ /opt/microsoft/
COPY --from=mssql /opt/mssql-tools/ /opt/mssql-tools/
COPY --from=mssql /usr/lib/libmsodbcsql-13.so /usr/lib/libmsodbcsql-13.so
# Install language pack
ENV MUSL_LOCALE_DEPS cmake make musl-dev gcc gettext-dev libintl
ENV MUSL_LOCPATH /usr/share/i18n/locales/musl
RUN apk add --no-cache \
$MUSL_LOCALE_DEPS \
&& wget https://gitlab.com/rilian-la-te/musl-locales/-/archive/master/musl-locales-master.zip \
&& unzip musl-locales-master.zip \
&& cd musl-locales-master \
&& cmake -DLOCALE_PROFILE=OFF -D CMAKE_INSTALL_PREFIX:PATH=/usr . && make && make install \
&& cd .. && rm -r musl-locales-master
# --- not show here---
# mssql odbc for dabase connection
RUN curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.5.2.1-1_amd64.apk
RUN curl -O https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/mssql-tools_17.5.2.1-1_amd64.apk
RUN apk add --allow-untrusted msodbcsql17_17.5.2.1-1_amd64.apk
RUN apk add --allow-untrusted mssql-tools_17.5.2.1-1_amd64.apk
RUN set -xe \
&& apk add --no-cache --virtual .persistent-deps freetds unixodbc \
&& apk add --no-cache --virtual .build-deps $PHPIZE_DEPS unixodbc-dev freetds-dev \
&& docker-php-source extract \
&& docker-php-ext-install pdo_dblib \
&& pecl install sqlsrv pdo_sqlsrv \
&& docker-php-ext-enable --ini-name 30-sqlsrv.ini sqlsrv \
&& docker-php-ext-enable --ini-name 35-pdo_sqlsrv.ini pdo_sqlsrv \
&& docker-php-source delete \
&& apk del .build-deps
关于php - 带有SQLSRV驱动程序错误的Docker PHP-FPM Alpine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59621389/
这个问题已经有答案了: How can I use PDO to fetch a results array in PHP? (2 个回答) 已关闭 4 年前。 由于我的罪孽,我必须迁移(或者简单地说
我正在将 L5.1.x 中的现有项目迁移到运行 Server 2012 和 SQL Server 2012 的新服务器。 对表使用 timestamps() 字段时遇到一些问题。生病时添加我的计划:
我在 PHP (5.5.12) 中使用 sqlsrv(php_pdo_sqlsrv_55_ts.dll 和 php_sqlsrv_55_ts.dll)通过 VPN 隧道连接到 MSSQL 2012 服
以前我用的是MySQL。这样我就可以使用下面的查询从数据库中获取最大数量。 这里 'No' 是 varchar(10): SELECT max(cast(No as unsigned)) as No
我似乎无法弄清楚为什么 sqlsrv_fetch_assoc 根据 sqlsrv_num_rows 结果集中有 2 行时只返回 1 行。我已尝试对参数进行硬编码,但我仍然得到相同的结果。 SSMS 结
我有一个存储过程,它创建一个临时表 (#test),用另一个表中的数据填充它,在这个临时表上运行 3 次选择并删除它。 原始表超过 20 GB,3 个 SELECT 语句包含原始 SP 上的许多不同条
我们必须升级系统以使用 PHP7.3(从 MSSQL 更改为 SQLSRV DB Driver 和带有 PDO 的 SQLSRV) 我的问题是,我不理解这种行为以及如何正确解决它。 当我从数据库查询
正在将我的 mysql php 代码转换为 sqlsrv,但在查找相同函数时遇到问题。 这是代码: $result=sqlsrv_query($conn,$sql) or die("Couldn
我正在尝试将 MSSQL 连接到 PHP。我正在关注 this教程。无论如何,在我按照该教程中的描述添加 dll 文件后,我收到以下警告。我该如何解决这个问题? php starup sqlsrv u
我正在使用 SQL server2008 作为数据库,并且我在 MSSQL Server 2008 中编写了存储过程。它在 MSSQL Server 2008 中运行良好。我想从 codeignite
我可以用MySQL $pdo->setAttribute(PDO::ATTR_TIMEOUT, 5); 设置连接超时值。但是当我使用 sqlsrv 驱动程序时,它的工作方式有所不同。您能解释一下如何使
如何从具有正确字段类型的数据库中获取值? 我正在使用 PDO Sqlsrv 从 DB 中获取数据,并且我总是以字符串形式接收数据,例如:customer_id : "1" 我的 customer_id
我现在开始使用 PHP 7 和 mssql,我需要将 sql 函数从 mssql_ 切换到 sqlsrv_。当我使用 mssql 函数时,我正在使用函数 mssql_change_db 更改数据库,但
本文实例讲述了PHP连接MSSQL2008/2005数据库(SQLSRV)配置方法,分享给大家供大家参考。具体方法如下: PHP连接MSSQL2008/2005数据库与以往的连接mssql2000
我的公司使用 sqlserv 扩展连接到 MSSQL 数据库。之所以选择此扩展而不是 mssql 扩展,是因为 Microsoft 正在积极维护它,并且根本不再维护 mssql 驱动程序。我的同事一直
我搜索了一整天,寻找 php 7 VC14 x64 Thread Safe 上 sqlsrv dll 的解决方案,但没有找到解决方案。有没有人解决这个问题: [04-Oct-2015 19:48:05
我目前正在尝试将使用 mysql 的 php 登录名(我知道这有点过时)转换为使用 sqlsrv。这只是一项学习任务,因为我想学习将站点从 mySQL 迁移到 MSSQL。 "dbname", "UI
我使用 PDO 和 MySQL 数据库在本地系统上设置了一个站点。我使用 PDO 是因为当站点运行在实时服务器上时,我必须使用 SQL Server,并且我希望 PDO 能够解决我所有的查询冲突。 现
我正在尝试转换它: http://www.datatables.net/examples/server_side/server_side.html 使用 SQLSRV,这是我到目前为止的代码: in
正在将我的代码从 mysql 转换为 sqlsrv。想知道 mysql_field_type 的等价物是什么,希望有人知道我可以在其中看到更多 mysql 和 sql 等价函数的页面。无法找到这两个:
我是一名优秀的程序员,十分优秀!