diff --git a/.env.example b/.env.example index f5027b45..7b7b8b07 100644 --- a/.env.example +++ b/.env.example @@ -75,7 +75,10 @@ COMPOSE_CONVERT_WINDOWS_PATHS=1 # If you need to change the sources (i.e. to China), set CHANGE_SOURCE to true CHANGE_SOURCE=false # Set ORACLE INSTANT_CLIENT_MIRROR option if you want to use Intranet improve download, you can download files first -ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/diogomascarenha/oracle-instantclient/raw/master/ +ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/the-paulus/oracle-instantclient/raw/master/ +ORACLE_INSTANT_CLIENT_ARCH=x86_64 +ORACLE_INSTANT_CLIENT_MAJOR=18 +ORACLE_INSTANT_CLIENT_MINOR=3 ### Docker Sync ########################################### diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index d42dd2f2..23d6338f 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -593,13 +593,17 @@ RUN set -xe; \ ########################################################################### ARG INSTALL_OCI8=false -ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/diogomascarenha/oracle-instantclient/raw/master/ +ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/the-paulus/oracle-instantclient/raw/master/ +ARG ORACLE_INSTANT_CLIENT_ARCH=x86_64 +ARG ORACLE_INSTANT_CLIENT_MAJOR=18 +ARG ORACLE_INSTANT_CLIENT_MINOR=3 -ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_12_1" -ENV OCI_HOME="/opt/oracle/instantclient_12_1" -ENV OCI_LIB_DIR="/opt/oracle/instantclient_12_1" -ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_12_1/sdk/include" -ENV OCI_VERSION=12 +ENV ORACLE_INSTANT_CLIENT_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR}_${ORACLE_INSTANT_CLIENT_MINOR} +ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}" +ENV OCI_HOME="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}" +ENV OCI_LIB_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}" +ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/sdk/include" +ENV OCI_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR} RUN if [ ${INSTALL_OCI8} = true ]; then \ # Install wget @@ -607,13 +611,13 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \ # Install Oracle Instantclient && mkdir /opt/oracle \ && cd /opt/oracle \ - && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.x64-12.1.0.2.0.zip \ - && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.x64-12.1.0.2.0.zip \ - && unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ - && unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ - && ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \ - && ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \ - && ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \ + && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \ + && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \ + && unzip /opt/oracle/instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \ + && unzip /opt/oracle/instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \ + && if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so ; fi\ + && if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so ; fi \ + && if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so ; fi \ && rm -rf /opt/oracle/*.zip \ # Install PHP extensions deps && apt-get install --no-install-recommends -yqq \ @@ -621,15 +625,15 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \ freetds-dev && \ # Install PHP extensions if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.12; \ + echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.0.12; \ elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.2.0; \ + echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.2.0; \ elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ] && [ $(php -r "echo PHP_MINOR_VERSION;") = "0" ]; then \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-3.0.1; \ + echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8-3.0.1; \ else \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8; \ + echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8; \ fi \ - && docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 \ + && docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION},${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} \ && docker-php-ext-configure pdo_dblib --with-libdir=/lib/x86_64-linux-gnu \ && docker-php-ext-install \ pdo_oci \ @@ -1014,7 +1018,7 @@ RUN if [ ${INSTALL_AUDIOWAVEFORM} = true ]; then \ && make \ && make install \ ;fi - + ##################################### # wkhtmltopdf: diff --git a/workspace/Dockerfile b/workspace/Dockerfile index fc4c5f80..24fa147c 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -902,13 +902,17 @@ RUN set -xe; \ USER root ARG INSTALL_OCI8=false -ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/diogomascarenha/oracle-instantclient/raw/master/ +ARG ORACLE_INSTANT_CLIENT_MIRROR=https://github.com/the-paulus/oracle-instantclient/raw/master/ +ARG ORACLE_INSTANT_CLIENT_ARCH=x86_64 +ARG ORACLE_INSTANT_CLIENT_MAJOR=18 +ARG ORACLE_INSTANT_CLIENT_MINOR=3 -ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_12_1" -ENV OCI_HOME="/opt/oracle/instantclient_12_1" -ENV OCI_LIB_DIR="/opt/oracle/instantclient_12_1" -ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_12_1/sdk/include" -ENV OCI_VERSION=12 +ENV ORACLE_INSTANT_CLIENT_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR}_${ORACLE_INSTANT_CLIENT_MINOR} +ENV LD_LIBRARY_PATH="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}" +ENV OCI_HOME="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}" +ENV OCI_LIB_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}" +ENV OCI_INCLUDE_DIR="/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/sdk/include" +ENV OCI_VERSION=${ORACLE_INSTANT_CLIENT_MAJOR} RUN if [ ${INSTALL_OCI8} = true ]; then \ # Install wget @@ -916,13 +920,13 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \ # Install Oracle Instantclient && mkdir /opt/oracle \ && cd /opt/oracle \ - && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.x64-12.1.0.2.0.zip \ - && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.x64-12.1.0.2.0.zip \ - && unzip /opt/oracle/instantclient-basic-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ - && unzip /opt/oracle/instantclient-sdk-linux.x64-12.1.0.2.0.zip -d /opt/oracle \ - && ln -s /opt/oracle/instantclient_12_1/libclntsh.so.12.1 /opt/oracle/instantclient_12_1/libclntsh.so \ - && ln -s /opt/oracle/instantclient_12_1/libclntshcore.so.12.1 /opt/oracle/instantclient_12_1/libclntshcore.so \ - && ln -s /opt/oracle/instantclient_12_1/libocci.so.12.1 /opt/oracle/instantclient_12_1/libocci.so \ + && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \ + && wget ${ORACLE_INSTANT_CLIENT_MIRROR}instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip \ + && unzip /opt/oracle/instantclient-basic-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \ + && unzip /opt/oracle/instantclient-sdk-linux.${ORACLE_INSTANT_CLIENT_ARCH}-${ORACLE_INSTANT_CLIENT_VERSION}.zip -d /opt/oracle \ + && if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntsh.so ; fi\ + && if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libclntshcore.so ; fi \ + && if [ ${OCI_VERSION} -lt 18 ] ; then ln -s /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so.${ORACLE_INSTANT_CLIENT_MAJOR}.${ORACLE_INSTANT_CLIENT_MINOR} /opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/libocci.so ; fi \ && rm -rf /opt/oracle/*.zip \ # Install PHP extensions deps && apt-get update \ @@ -930,13 +934,13 @@ RUN if [ ${INSTALL_OCI8} = true ]; then \ libaio-dev && \ # Install PHP extensions if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.0.12; \ + echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.0.12; \ elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "7" ]; then \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-2.2.0; \ + echo 'instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/' | pecl install oci8-2.2.0; \ elif [ $(php -r "echo PHP_VERSION_ID - PHP_RELEASE_VERSION;") = "80000" ]; then \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8-3.0.1; \ + echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8-3.0.1; \ else \ - echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8; \ + echo "instantclient,/opt/oracle/instantclient_${ORACLE_INSTANT_CLIENT_VERSION}/" | pecl install oci8; \ fi \ && echo "extension=oci8.so" >> /etc/php/${LARADOCK_PHP_VERSION}/cli/php.ini \ && php -m | grep -q 'oci8' \