Commit b1f483fd authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Install du driver OCI8

parent a7e72293
Loading
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -10,6 +10,25 @@ FROM unicaen-dev-php${PHP_VERSION}-apache

LABEL maintainer="Bertrand GAUTHIER <bertrand.gauthier at unicaen.fr>"

ENV PHP_VERSION=${PHP_VERSION} \
    OCI8_PACKAGE="oci8-2.2.0" \
    APACHE_CONF_DIR=/etc/apache2 \
    PHP_CONF_DIR=/etc/php/${PHP_VERSION}

# Package PHP Oracle OCI8
ADD resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/
ADD resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/
ADD resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/
RUN unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \
    unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \
    unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \
    ln -s /usr/local/instantclient_18_5 /usr/local/instantclient && \
    ln -s /usr/local/instantclient/sqlplus /usr/bin/sqlplus && \
    echo 'instantclient,/usr/local/instantclient' | pecl install ${OCI8_PACKAGE} && \
    echo "extension=oci8.so" > ${PHP_CONF_DIR}/fpm/conf.d/30-php-oci8.ini && \
    echo "extension=oci8.so" > ${PHP_CONF_DIR}/cli/conf.d/30-php-oci8.ini && \
    echo "/usr/local/instantclient" > /etc/ld.so.conf.d/oracle-instantclient.conf && ldconfig

# Symlink apache access and error logs to stdout/stderr so Docker logs shows them
RUN ln -sf /dev/stdout /var/log/apache2/access.log
RUN ln -sf /dev/stdout /var/log/apache2/other_vhosts_access.log
+22 −2
Original line number Diff line number Diff line
@@ -16,7 +16,9 @@ EOF

################################################################################################################

PHP_VERSION="$1"
export PHP_VERSION="$1"
export OCI8_PACKAGE="oci8-2.2.0"
export PHP_CONF_DIR=/etc/php/${PHP_VERSION}

set -e

@@ -26,11 +28,29 @@ sudo -E apt-get install -y \
    git \
    nano

# Récupération de l'image Docker Unicaen et lancement de son Dockerfile.sh
# Récupération de l'image Docker Unicaen de base et lancement de son Dockerfile.sh
export UNICAEN_IMAGE_TMP_DIR=/tmp/docker-unicaen-image
git clone https://git.unicaen.fr/open-source/docker/unicaen-image.git ${UNICAEN_IMAGE_TMP_DIR}
cd ${UNICAEN_IMAGE_TMP_DIR}
. Dockerfile.sh ${PHP_VERSION}

# Récupération de l'image Docker de sygal-import-ws pour l'install du driver OCI8
export APP_IMAGE_TMP_DIR=/tmp/docker-sygal-import-ws-image
git clone https://git.unicaen.fr/open-source/docker/sygal-import-ws-image ${APP_IMAGE_TMP_DIR}
cd ${APP_IMAGE_TMP_DIR}

cp resources/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip /tmp/
cp resources/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip /tmp/
cp resources/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip /tmp/
sudo unzip -o /tmp/instantclient-basiclite-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \
sudo unzip -o /tmp/instantclient-sdk-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \
sudo unzip -o /tmp/instantclient-sqlplus-linux.x64-18.5.0.0.0dbru.zip -d /usr/local/ && \
sudo ln -s /usr/local/instantclient_18_5 /usr/local/instantclient && \
sudo ln -s /usr/local/instantclient/sqlplus /usr/bin/sqlplus && \
echo 'instantclient,/usr/local/instantclient' | sudo -E pecl install ${OCI8_PACKAGE} && \
echo "extension=oci8.so" | sudo tee ${PHP_CONF_DIR}/fpm/conf.d/30-php-oci8.ini && \
echo "extension=oci8.so" | sudo tee ${PHP_CONF_DIR}/cli/conf.d/30-php-oci8.ini && \
echo "/usr/local/instantclient" | sudo tee /etc/ld.so.conf.d/oracle-instantclient.conf && sudo ldconfig

# Configuration Apache et FPM
# (c'est selon le serveur)
+34.5 MiB

File added.

No diff preview for this file type.

+908 KiB

File added.

No diff preview for this file type.

+897 KiB

File added.

No diff preview for this file type.