Oracle Linux 8 with PHP 8 for use with Oracle Databases

FROM oraclelinux:8

################################################
# Install InstaClient 21
################################################
RUN dnf -y install oracle-instantclient-release-el8

RUN dnf -y install oracle-instantclient-basic

# Need for OCI8 compiling
RUN dnf -y install oracle-instantclient-devel

################################################
# Install PHP
################################################
RUN dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

RUN dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

RUN dnf -y module enable php:remi-8.0

RUN dnf -y install make \
    systemtap-sdt-devel \
    libnsl \
    php \
    php-cli \
    php-common \
    php-pdo \
    php-oci8 \
    sqlite \
    php-pear \
    php-devel 

################################################
# Set Oracle ENV variables
################################################

ENV LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/21/client64/lib

################################################
# Install OCI8
################################################
RUN pecl channel-update pecl.php.net 

RUN pear download pecl/oci8-3.0.1

RUN tar xvzf oci8-3.0.1.tgz \
    && cd oci8-3.0.1 \
    && phpize \
    && export PHP_DTRACE=yes \
    && ./configure --with-oci8=instantclient,/usr/lib/oracle/21/client64/lib/ \
    && make \
    && make install

RUN rm -rf /oci8-3.0.1.tgz \
    && rm -rf /oci8-3.0.1

################################################
# Set app directory
################################################
RUN mkdir /app

CMD tail -f /dev/null

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s