SLE BCI PHP-Apache 8

PHP-Apache 8 container based on the SLE Base Container Image.

Get Image
Digest:
sha256:953de8cbfc0129bc4979897924627e50fde072f82151b0a9aed2c83c0a1b6003
953de8cbf
Repository:
registry.suse.com/bci/php-apache:latest

Description

The PHP Apache 8 container image

RedistributableSLSA Provenance: Available

PHP is a general-purpose scripting language used primarily for server-side web development. It can be used directly, embedded in HTML files, or executed via a server-side Apache2 module or CGI scripts.

How to use the image

The image ships with the Apache web server and the mod_php module.

To deploy an application, copy its sources into the htdocs folder /srv/www/htdocs (this directory is the WORKDIR of the container image):

FROM registry.suse.com/bci/php-apache:8

RUN set -eux; \
    zypper -n in $my_dependencies; \
    # additional setup steps

# Copy the app into the Apache2 document root
COPY app/ .

Build the image and run the resulting container:

$ buildah bud -t my-app .
$ podman run -d -p 8080:80 my-app

Alternatively, you can mount the application's source code directly into the container:

$ podman run -d -p 8080:80 -v ./app/:/srv/www/htdocs:Z registry.suse.com/bci/php-apache:8

How to install PHP extensions

PHP extensions must be installed using the zypper package manager. PHP extensions are named using the php8-$extension_name scheme, and they can be installed as follows:

FROM registry.suse.com/bci/php-apache:8

RUN zypper -n in php8-gd php8-intl

Alternatively, you can use the docker-php-ext-install script. It is provided for compatibility with the PHP DockerHub Image but it uses zypper to install the extensions from RPMs. It is provided for compatibility reasons and can be used similar to the script from PHP DockerHub image:

FROM registry.suse.com/bci/php-apache:8

RUN docker-php-ext-install gd intl

How to install PECL extensions

PECL is a package repository hosting PHP extensions. It can be used as an alternative source to obtain PHP extensions, but without any guarantee of interoperability with this image and without any official support.

Install PECL extensions as follows:

FROM registry.suse.com/bci/php-apache:8

RUN set -euo pipefail; \
    zypper -n in $PHPIZE_DEPS php8-pecl; \
    pecl install APCu-5.1.21;

Note: Building an extension may require installing its dependencies first.

Compatibility with the DockerHub Image

The following scripts ship with the image to keep it compatible with the DockerHub image: docker-php-source, docker-php-ext-configure, docker-php-ext-enable, and docker-php-ext-install. The script docker-php-ext-install performs an actual job, all others are just no-operation scripts for interoperability.

Licensing

SPDX-License-Identifier: MIT

This documentation and the build recipe are licensed as MIT. The container itself contains various software components under various open source licenses listed in the associated Software Bill of Materials (SBOM).

This image is based on SLE BCI, a stable and redistributable foundation for software innovation. SLE BCI is enterprise-ready, and it comes with an option for support.

See the SLE BCI EULA for further information.

  • Image Data

    Last Built: 26 Nov 10:59 UTC

    Compressed Size: 59.1 MB

    Uncompressed Size: 165.2 MB

    Support Level: L3


  • Health Index
    A

    No vulnerabilities found

    Last Scan:

    1 day ago