diff --git a/Dockerfile b/Dockerfile index f93f7a9..1571cf8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ RUN set -eux; \ apache2 apache2-proxy \ php84 php84-fpm php84-opcache php84-session \ php84-mysqli php84-pdo php84-pdo_mysql php84-ctype php84-tokenizer php84-xml php84-gd php84-curl php84-mbstring \ + php84-pgsql php84-pdo_pgsql \ tzdata curl; \ mkdir -p /run/apache2 /run/php /var/www/html; \ # Apache → logy do stdout/stderr, ServerName @@ -17,6 +18,27 @@ RUN set -eux; \ if [ -f /etc/php84/php.ini-production ]; then cp /etc/php84/php.ini-production /etc/php84/php.ini; fi; \ # Alpine default symlink if [ -d /var/www/localhost/htdocs ]; then rmdir /var/www/localhost/htdocs || true; ln -s /var/www/html /var/www/localhost/htdocs; fi + +# --- MSSQL: ODBC driver + PHP rozšíření sqlsrv/pdo_sqlsrv --- +RUN set -eux; \ + # runtime závislosti + apk add --no-cache unixodbc gnupg curl; \ + # build závislosti (po kompilaci odstraníme) + apk add --no-cache --virtual .build-deps php84-dev php84-pear autoconf make g++ unixodbc-dev; \ + # Microsoft ODBC 18 (oficiální .apk; uprav verzi, až vyjde novější) + arch="$(apk --print-arch)"; case "$arch" in x86_64) msarch=amd64 ;; aarch64) msarch=arm64 ;; *) echo "unsupported arch: $arch"; exit 1 ;; esac; \ + curl -fsSLO "https://download.microsoft.com/download/fae28b9a-d880-42fd-9b98-d779f0fdd77f/msodbcsql18_18.5.1.1-1_${msarch}.apk"; \ + apk add --allow-untrusted "./msodbcsql18_18.5.1.1-1_${msarch}.apk"; \ + rm -f msodbcsql18_*.apk; \ + # sjednotím binárky pro pecl/phpize + ln -sf /usr/bin/php84 /usr/bin/php; ln -sf /usr/bin/phpize84 /usr/bin/phpize; ln -sf /usr/bin/pecl84 /usr/bin/pecl; \ + # PHP rozšíření + pecl install sqlsrv pdo_sqlsrv; \ + echo "extension=sqlsrv.so" > /etc/php84/conf.d/20_sqlsrv.ini; \ + echo "extension=pdo_sqlsrv.so" > /etc/php84/conf.d/30_pdo_sqlsrv.ini; \ + # úklid build závislostí + apk del .build-deps + RUN sed -ri 's|^(LoadModule\s+lbmethod_heartbeat_module\b.*)|# \1|' /etc/apache2/httpd.conf # Konfigurace Apache pro FPM + DocumentRoot COPY apache-phpfpm.conf /etc/apache2/conf.d/php-fpm.conf