diff --git a/Dockerfile b/Dockerfile index ff809b3f..90c2ba6b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,8 @@ ARG SHLINK_RUNTIME=openswoole ENV SHLINK_RUNTIME ${SHLINK_RUNTIME} ENV OPENSWOOLE_VERSION 4.12.0 ENV PDO_SQLSRV_VERSION 5.10.1 -ENV MS_ODBC_SQL_VERSION 17.5.2.2 +ENV MS_ODBC_DOWNLOAD 'b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486' +ENV MS_ODBC_SQL_VERSION 18_18.1.1.1 ENV LC_ALL "C" WORKDIR /etc/shlink @@ -29,11 +30,11 @@ RUN apk add --no-cache --virtual .phpize-deps ${PHPIZE_DEPS} unixodbc-dev && \ docker-php-ext-enable openswoole ; \ fi; \ if [ $(uname -m) == "x86_64" ]; then \ - wget https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ - apk add --no-cache --allow-untrusted msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ + wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ + apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} && \ docker-php-ext-enable pdo_sqlsrv && \ - rm msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk ; \ + rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk ; \ fi; \ apk del .phpize-deps diff --git a/config/autoload/entity-manager.global.php b/config/autoload/entity-manager.global.php index 5a75ca6b..58899217 100644 --- a/config/autoload/entity-manager.global.php +++ b/config/autoload/entity-manager.global.php @@ -42,6 +42,9 @@ return (static function (): array { 'port' => EnvVars::DB_PORT->loadFromEnv($resolveDefaultPort()), 'unix_socket' => $isMysqlCompatible ? EnvVars::DB_UNIX_SOCKET->loadFromEnv() : null, 'charset' => $resolveCharset(), + 'driverOptions' => $driver !== 'mssql' ? [] : [ + 'TrustServerCertificate' => 'true', + ], ], }; diff --git a/config/test/test_config.global.php b/config/test/test_config.global.php index 678e1b05..368a5f4e 100644 --- a/config/test/test_config.global.php +++ b/config/test/test_config.global.php @@ -101,6 +101,9 @@ $buildDbConnection = static function (): array { 'user' => 'sa', 'password' => 'Passw0rd!', 'dbname' => 'shlink_test', + 'driverOptions' => [ + 'TrustServerCertificate' => 'true', + ], ], default => [ // mysql and maria 'driver' => 'pdo_mysql', diff --git a/data/infra/php.Dockerfile b/data/infra/php.Dockerfile index 7bfbd24a..c43b21cb 100644 --- a/data/infra/php.Dockerfile +++ b/data/infra/php.Dockerfile @@ -3,7 +3,8 @@ MAINTAINER Alejandro Celaya ENV APCU_VERSION 5.1.21 ENV PDO_SQLSRV_VERSION 5.10.1 -ENV MS_ODBC_SQL_VERSION 17.5.2.2 +ENV MS_ODBC_DOWNLOAD 'b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486' +ENV MS_ODBC_SQL_VERSION 18_18.1.1.1 RUN apk update @@ -44,13 +45,13 @@ RUN mkdir -p /usr/src/php/ext/apcu \ && echo extension=apcu.so > /usr/local/etc/php/conf.d/20-php-ext-apcu.ini # Install pcov and sqlsrv driver -RUN wget https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ - apk add --allow-untrusted msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ +RUN wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ + apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \ pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} pcov && \ docker-php-ext-enable pdo_sqlsrv pcov && \ apk del .phpize-deps && \ - rm msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk + rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk # Install composer COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer diff --git a/data/infra/roadrunner.Dockerfile b/data/infra/roadrunner.Dockerfile index a1092de3..f019d969 100644 --- a/data/infra/roadrunner.Dockerfile +++ b/data/infra/roadrunner.Dockerfile @@ -3,7 +3,8 @@ MAINTAINER Alejandro Celaya ENV APCU_VERSION 5.1.21 ENV PDO_SQLSRV_VERSION 5.10.1 -ENV MS_ODBC_SQL_VERSION 17.5.2.2 +ENV MS_ODBC_DOWNLOAD 'b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486' +ENV MS_ODBC_SQL_VERSION 18_18.1.1.1 RUN apk update @@ -44,13 +45,13 @@ RUN mkdir -p /usr/src/php/ext/apcu \ && echo extension=apcu.so > /usr/local/etc/php/conf.d/20-php-ext-apcu.ini # Install pcov and sqlsrv driver -RUN wget https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ - apk add --allow-untrusted msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ +RUN wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ + apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \ pecl install pdo_sqlsrv-${PDO_SQLSRV_VERSION} pcov && \ docker-php-ext-enable pdo_sqlsrv pcov && \ apk del .phpize-deps && \ - rm msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk + rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk # Install composer COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer diff --git a/data/infra/swoole.Dockerfile b/data/infra/swoole.Dockerfile index 2314d834..68fa0db2 100644 --- a/data/infra/swoole.Dockerfile +++ b/data/infra/swoole.Dockerfile @@ -5,7 +5,8 @@ ENV APCU_VERSION 5.1.21 ENV INOTIFY_VERSION 3.0.0 ENV OPENSWOOLE_VERSION 4.12.0 ENV PDO_SQLSRV_VERSION 5.10.1 -ENV MS_ODBC_SQL_VERSION 17.5.2.2 +ENV MS_ODBC_DOWNLOAD 'b/9/f/b9f3cce4-3925-46d4-9f46-da08869c6486' +ENV MS_ODBC_SQL_VERSION 18_18.1.1.1 RUN apk update @@ -54,13 +55,13 @@ RUN mkdir -p /usr/src/php/ext/inotify \ && rm /tmp/inotify.tar.gz # Install openswoole, pcov and mssql driver -RUN wget https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ - apk add --allow-untrusted msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ +RUN wget https://download.microsoft.com/download/${MS_ODBC_DOWNLOAD}/msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ + apk add --allow-untrusted msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk && \ apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS unixodbc-dev && \ pecl install openswoole-${OPENSWOOLE_VERSION} pdo_sqlsrv-${PDO_SQLSRV_VERSION} pcov && \ docker-php-ext-enable openswoole pdo_sqlsrv pcov && \ apk del .phpize-deps && \ - rm msodbcsql17_${MS_ODBC_SQL_VERSION}-1_amd64.apk + rm msodbcsql${MS_ODBC_SQL_VERSION}-1_amd64.apk # Install composer COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer