OpenShift provides S2I enabled PHP images for building and running PHP applications. The PHP S2I builder image assembles your application source with any required dependencies to create a new image containing your PHP application. This resulting image can be run either by OpenShift or by Docker.


Currently, OpenShift provides version 5.5 of PHP.


This image comes in two flavors, depending on your needs:

  • RHEL 7

  • CentOS 7

RHEL 7 Based Image

The RHEL 7 image is available through Red Hat’s subscription registry via:

$ docker pull registry.access.redhat.com/openshift3/php-55-rhel7

CentOS 7 Based Image

This image is available on DockerHub. To download it:

$ docker pull openshift/php-55-centos7

To use these images, you can either access them directly from these image registries, or push them into your OpenShift Docker registry. Additionally, you can create an image stream that points to the image, either in your Docker registry or at the external location. Your OpenShift resources can then reference the ImageStream. You can find example ImageStream definitions for all the provided OpenShift images.


The PHP image supports a number of environment variables which can be set to control the configuration and behavior of the PHP runtime.

To set these environment variables, you can place them into .sti/environment file inside your source code repository, or define them in the environment section of the BuildConfig Source Strategy definition.

The following environment variables set their equivalent property value in the php.ini file:

Table 1. PHP Environment Variables
Variable name Description Default


Informs PHP of the errors, warnings, and notices for which you would like it to take action.



Controls if and where PHP outputs errors, notices, and warnings.



Causes any display errors that occur during PHP’s startup sequence to be handled separately from display errors.



Stores the last error/warning message in $php_errormsg (boolean).



Links errors to documentation that is related to the error.



Path for PHP source files.


Location for session data files.


The following environment variable sets its equivalent property value in the opcache.ini file:

Table 2. Additional PHP settings
Variable name Description Default


The OPcache shared memory storage size.


You can also override the entire directory used to load the PHP configuration by setting:

Table 3. Additional PHP settings
Variable name Description


Sets the path to the php.ini file.


Path to scan for additional ini configuration files

Apache Configuration

If the DocumentRoot of the application is nested in the source directory /opt/openshift/src, you can provide your own .htaccess file to override the default Apache behavior and specify how application requests should be handled. The .htaccess file must be located at the root of the application source.


This image logs primarily to standard out and as such the logs can be viewed via the oc logs command. Access logs are stored in /tmp/access_log which can be viewed using oc exec to access the container.