Sign inSign up

merorafael/php

By merorafael

•Updated over 8 years ago

Docker image with PHP and extensions

Image
0

10K+

merorafael/php repository overview

⁠Docker: PHP and extensions

Official PHP docker image⁠ with additional extensions.

⁠Supported tags

⁠Extensions enabled

ExtensionPHP 5.4PHP 5.6PHP 7.0PHP 7.1
mcryptxxxx
iconvxxxx
intlxxxx
mbstringxxxx
gdxxxx
curlxxxx
domxxxx
soapxxxx
simplexmlxxxx
xmlreaderxxxx
xmlwriterxxxx
socketsxxxx
zipxxxx
pgsqlxxxx
mysqlixxxx
sqlsrv¹xx
pdo_pgsqlxxxx
pdo_mysqlxxxx
pdo_sqlsrv¹xx
pdo_dblibxxxx
pdo_sqlitexxxx
memcachedxxxx
redisxxxx
apcuxxxx
opcachexxxx
ftpxxxx
xdebugxxxx

¹ Microsoft only provides support SQL Server for PHP 7.0 or above.

⁠Extras

  • composer
  • phpunit
  • wget
  • vim
  • git
  • unzip

⁠About Oracle extensions

In this version, the extensions pdo_oci and oci have been remove. This change happened because these extensions depend on Oracle Instant Client.

To download this package, the user will need a login and password on the Oracle portal.

⁠Including Oracle extensions

Create a Dockerfile extending some merorafael/php image. Example:

FROM merorafael/php:7.1-fpm

Use the commands below to install Oracle Instant Client on the container.

Attention! You need change versions referecences and replace <ORALCE_INSTANT_CLIENT_URL> with Oracle Instant Client download URL.

# Install Oracle Instantclient
RUN mkdir /opt/oracle \
    && cd /opt/oracle \
    && wget <ORACLE_INSTANT_CLIENT_URL> \
    && wget <ORACLE_INSTANT_CLIENT_URL> \
    && 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 \
    && rm -rf /opt/oracle/*.zip

Install OCI8 and PDO_OCI using the commands bellow.

# Install Oracle extensions
RUN docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 \
       && echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8 \
       && docker-php-ext-install \
               pdo_oci \
       && docker-php-ext-enable \
               oci8

Now just build the image and use it in your containers.

⁠Complete Dockerfile example
FROM merorafael/php:7.1-fpm

# Install Oracle Instantclient
RUN mkdir /opt/oracle \
    && cd /opt/oracle \
    && wget <ORACLE_INSTANT_CLIENT_URL> \
    && wget <ORACLE_INSTANT_CLIENT_URL> \
    && 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 \
    && rm -rf /opt/oracle/*.zip
    
# Install Oracle extensions
RUN docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1 \
       && echo 'instantclient,/opt/oracle/instantclient_12_1/' | pecl install oci8 \
       && docker-php-ext-install \
               pdo_oci \
       && docker-php-ext-enable \
               oci8

Tag summary

Content type

Image

Digest

Size

231 MB

Last updated

over 8 years ago

docker pull merorafael/php