$ docker pull registry.access.redhat.com/openshift3/php-55-rhel7
OpenShift Enterprise 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 Enterprise or by Docker.
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 using:
$ 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 Enterprise 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 Enterprise resources can then reference the image stream.
You can find example image stream definitions for all the provided OpenShift Enterprise 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
a .sti/environment file
inside your source code repository, or define them in
the environment
section of the build configuration’s sourceStrategy
definition.
The following environment variables set their equivalent property value in the php.ini file:
Variable name | Description | Default |
---|---|---|
|
Informs PHP of the errors, warnings, and notices for which you would like it to take action. |
E_ALL & ~E_NOTICE |
|
Controls if and where PHP outputs errors, notices, and warnings. |
ON |
|
Causes any display errors that occur during PHP’s startup sequence to be handled separately from display errors. |
OFF |
|
Stores the last error/warning message in |
OFF |
|
Links errors to documentation that is related to the error. |
ON |
|
Path for PHP source files. |
.:/opt/openshift/src:/opt/rh/php55/root/usr/share/pear |
|
Location for session data files. |
/tmp/sessions |
The following environment variable sets its equivalent property value in the opcache.ini file:
Variable name | Description | Default |
---|---|---|
|
The OPcache shared memory storage size. |
16M |
|
How often to check script time stamps for updates, in seconds. 0 results in OPcache checking for updates on every request. |
2 |
You can also override the entire directory used to load the PHP configuration by setting:
Variable name | Description |
---|---|
|
Sets the path to the php.ini file. |
|
Path to scan for additional .ini configuration files |
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.
Hot deployment allows you to quickly make and deploy changes to your application
without having to generate a new s2i build. In order to immediately pick up
changes made in your application source code, you must run your built image with
the OPCACHE_REVALIDATE_FREQ=0
environment variable.
For example, see the
oc new-app
command. You can use the
oc
env
command to update environment variables of existing objects.
You should only use this option while developing or debugging; it is not recommended to turn this on in your production environment. |
To change your source code in a running pod, use the
oc
rsh
command to enter the container:
$ oc rsh <pod_id>
After you enter into the running container, your current directory is set to /opt/app-root/src, where the source code is located.