A Docker image based on Ubuntu, serving PHP 7 running as Apache Module. Useful for Web developers in need for a fixed PHP version. In addition, the error_reporting
setting in php.ini is configurable per container via environment variable.
- latest: Ubuntu 16.04 (LTS), Apache 2.4, PHP 7.0.x with support for setting
error_reporting
anddate.timezone
$ docker run -d -P Wimble84/apache-php7
With all the options:
$ docker run -d -p 80:80 \
-v /home/user/webroot:/var/www \
-e PHP_ERROR_REPORTING='E_ALL & ~E_STRICT' \
-e TIMEZONE='Europe/Paris' \
Wimble84/apache-php7
-v [local path]:/var/www
maps the container's webroot to a local path-p [local port]:80
maps a local port to the container's HTTP port 80-e PHP_ERROR_REPORTING=[php error_reporting settings]
sets the value oferror_reporting
in the php.ini files.-e TIMEZONE=[php date.timezone]
sets the defaultdate.timezone
in the php.ini files.
Apache is configured to log both access and error log to STDOUT. So you can simply use docker logs
to get the log output:
docker logs -f container-id
- Ubuntu Server 16.04, based on ubuntu docker image
- apache2
- php
- php-intl
- php-cli
- libapache2-mod-php
- php-apcu
- php-gd
- php-json
- php-ldap
- php-mbstring
- php-mysql
- php-opcache
- php-pgsql
- php-sqlite3
- php-xml
- php-xsl
- php-zip
- php-soap
- php-curl
- php-mcrypt
- php-xdebug
- composer (php package manager)
- Apache: .htaccess-Enabled in webroot (mod_rewrite with AllowOverride all)
- php.ini:
- display_errors = On
- error_reporting = E_ALL (default, overridable per env variable)
- date.timezone = Europe/Paris (default, overridable per env variable)