Browse Source

fixing PHP7.0 php-fpm mssql extension build failed

Shao Yu Lung 8 years ago
parent
commit
5a8df95fd3
1 changed files with 14 additions and 62 deletions
  1. 14 62
      php-fpm/Dockerfile-70

+ 14 - 62
php-fpm/Dockerfile-70

@@ -258,76 +258,28 @@ RUN if [ ${INSTALL_LDAP} = true ]; then \
 #####################################
 # SQL SERVER:
 #####################################
+
 ARG INSTALL_MSSQL=false
 ENV INSTALL_MSSQL ${INSTALL_MSSQL}
-
 RUN if [ ${INSTALL_MSSQL} = true ]; then \
     #####################################
-    # Install Depenencies:
-    #####################################
-        apt-get update -yqq && \
-        apt-get install -y --force-yes wget apt-transport-https curl freetds-common libsybdb5 freetds-bin unixodbc unixodbc-dev && \
-
+    # Ref from https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-adding-pdo_sqlsrv-and-sqlsrv-to-official-php-image
     #####################################
-    #  The following steps were taken from
-    #  Microsoft's github account:
-    #  https://github.com/Microsoft/msphpsql/wiki/Dockerfile-for-getting-pdo_sqlsrv-for-PHP-7.0-on-Debian-in-3-ways
-    #####################################
-
-    # Add PHP 7 repository
-    # for Debian jessie
-    # And System upgrade
-        echo "deb http://packages.dotdeb.org jessie all" \
-        | tee /etc/apt/sources.list.d/dotdeb.list \
-        && wget -qO- https://www.dotdeb.org/dotdeb.gpg \
-        | apt-key add - \
+    # Add Microsoft repo for Microsoft ODBC Driver 13 for Linux
+    apt-get update -yqq \
+        && apt-get install -y apt-transport-https \
+        && curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
+        && curl https://packages.microsoft.com/config/debian/8/prod.list > /etc/apt/sources.list.d/mssql-release.list \
         && apt-get update -yqq \
-        && apt-get upgrade -qq && \
-
-    # Install UnixODBC
-    # Compile odbc_config as it is not part of unixodbc package
-        apt-get update -yqq && \
-        apt-get install -y whiptail \
-        unixodbc libgss3 odbcinst devscripts debhelper dh-exec dh-autoreconf libreadline-dev libltdl-dev \
-        && dget -u -x http://http.debian.net/debian/pool/main/u/unixodbc/unixodbc_2.3.1-3.dsc \
-        && cd unixodbc-*/ \
-        && ./configure && make && make install \
-        && cp -v ./exe/odbc_config /usr/local/bin/ && \
-
-    # Fake uname for install.sh
-        printf '#!/bin/bash\nif [ "$*" == "-p" ]; then echo "x86_64"; else /bin/uname "$@"; fi' \
-        | tee /usr/local/bin/uname \
-        && chmod +x /usr/local/bin/uname && \
-
-    # Microsoft ODBC Driver 13 for Linux
-    # Note: There's a copy of this tar on my hubiC
-        wget -nv -O msodbcsql-13.0.0.0.tar.gz \
-        "https://meetsstorenew.blob.core.windows.net/contianerhd/Ubuntu%2013.0%20Tar/msodbcsql-13.0.0.0.tar.gz?st=2016-10-18T17%3A29%3A00Z&se=2022-10-19T17%3A29%3A00Z&sp=rl&sv=2015-04-05&sr=b&sig=cDwPfrouVeIQf0vi%2BnKt%2BzX8Z8caIYvRCmicDL5oknY%3D" \
-        && tar -xf msodbcsql-13.0.0.0.tar.gz \
-        && cd msodbcsql-*/ \
-        && ldd lib64/libmsodbcsql-13.0.so.0.0 \
-        && ./install.sh install --accept-license \
-        && ls -l /opt/microsoft/msodbcsql/ \
-        && odbcinst -q -d -n "ODBC Driver 13 for SQL Server" && \
 
+    # Install Dependencies
+        && ACCEPT_EULA=Y apt-get install -y unixodbc unixodbc-dev libgss3 odbcinst msodbcsql locales \
+        && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
+        && locale-gen \
 
-    #####################################
-    # Install sqlsrv y pdo_sqlsrv
-    # extensions:
-    #####################################
-
-    pecl install sqlsrv-4.0.8 && \
-    pecl install pdo_sqlsrv-4.0.8 && \
-
-    #####################################
-    # Set locales for the container
-    #####################################
-
-    apt-get install -y locales \
-    && echo "en_US.UTF-8 UTF-8" > /etc/locale.gen \
-    && locale-gen \
-    && echo "extension=sqlsrv.so" > /usr/local/etc/php/conf.d/20-sqlsrv.ini \
-    && echo "extension=pdo_sqlsrv.so" > /usr/local/etc/php/conf.d/20-pdo_sqlsrv.ini \
+    # Install pdo_sqlsrv and sqlsrv from PECL. Replace pdo_sqlsrv-4.1.8preview with preferred version.
+        && pecl install pdo_sqlsrv-4.1.8preview sqlsrv-4.1.8preview \
+        && docker-php-ext-enable pdo_sqlsrv sqlsrv \
 ;fi
 
 #