Skip to content
Snippets Groups Projects
Commit b1f483fd authored by Bertrand Gauthier's avatar Bertrand Gauthier
Browse files

Install du driver OCI8

parent a7e72293
Branches
No related tags found
No related merge requests found
Pipeline #18522 failed
......@@ -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
......
......@@ -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)
File added
File added
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment