Full Code of phpearth/docker-php for AI

master cd18a6846df4 cached
141 files
117.2 KB
41.8k tokens
1 requests
Download .txt
Repository: phpearth/docker-php
Branch: master
Commit: cd18a6846df4
Files: 141
Total size: 117.2 KB

Directory structure:
gitextract_z_dotten/

├── .editorconfig
├── .github/
│   ├── CODE_OF_CONDUCT.md
│   └── CONTRIBUTING.md
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── Makefile
├── README.md
├── docker/
│   ├── 7.0-apache.Dockerfile
│   ├── 7.0-cgi.Dockerfile
│   ├── 7.0-cli.Dockerfile
│   ├── 7.0-lighttpd.Dockerfile
│   ├── 7.0-litespeed.Dockerfile
│   ├── 7.0-nginx.Dockerfile
│   ├── 7.0.Dockerfile
│   ├── 7.1-apache.Dockerfile
│   ├── 7.1-cgi.Dockerfile
│   ├── 7.1-cli.Dockerfile
│   ├── 7.1-lighttpd.Dockerfile
│   ├── 7.1-litespeed.Dockerfile
│   ├── 7.1-nginx.Dockerfile
│   ├── 7.1.Dockerfile
│   ├── 7.2-apache.Dockerfile
│   ├── 7.2-cgi.Dockerfile
│   ├── 7.2-cli.Dockerfile
│   ├── 7.2-lighttpd.Dockerfile
│   ├── 7.2-litespeed.Dockerfile
│   ├── 7.2-nginx.Dockerfile
│   ├── 7.2.Dockerfile
│   ├── 7.3-apache.Dockerfile
│   ├── 7.3-cgi.Dockerfile
│   ├── 7.3-cli.Dockerfile
│   ├── 7.3-lighttpd.Dockerfile
│   ├── 7.3-litespeed.Dockerfile
│   ├── 7.3-nginx.Dockerfile
│   ├── 7.3.Dockerfile
│   ├── 7.4-apache.Dockerfile
│   ├── 7.4-cgi.Dockerfile
│   ├── 7.4-cli.Dockerfile
│   ├── 7.4-lighttpd.Dockerfile
│   ├── 7.4-litespeed.Dockerfile
│   ├── 7.4-nginx.Dockerfile
│   ├── 7.4.Dockerfile
│   ├── hooks/
│   │   ├── build
│   │   └── post_push
│   └── tags/
│       ├── apache/
│       │   ├── etc/
│       │   │   └── service/
│       │   │       └── apache/
│       │   │           └── run
│       │   └── sbin/
│       │       ├── runit-wrapper
│       │       └── runsvdir-start
│       ├── lighttpd/
│       │   ├── etc/
│       │   │   ├── lighttpd/
│       │   │   │   └── example.conf
│       │   │   └── service/
│       │   │       ├── lighttpd/
│       │   │       │   └── run
│       │   │       └── php-fpm/
│       │   │           └── run
│       │   ├── sbin/
│       │   │   ├── runit-wrapper
│       │   │   └── runsvdir-start
│       │   └── var/
│       │       └── www/
│       │           └── localhost/
│       │               └── htdocs/
│       │                   └── index.php
│       ├── litespeed/
│       │   ├── etc/
│       │   │   └── service/
│       │   │       └── lsws/
│       │   │           └── run
│       │   └── sbin/
│       │       ├── runit-wrapper
│       │       └── runsvdir-start
│       └── nginx/
│           ├── etc/
│           │   ├── nginx/
│           │   │   └── conf.d/
│           │   │       └── default.conf
│           │   └── service/
│           │       ├── nginx/
│           │       │   └── run
│           │       └── php-fpm/
│           │           └── run
│           ├── sbin/
│           │   ├── runit-wrapper
│           │   └── runsvdir-start
│           └── var/
│               └── www/
│                   └── html/
│                       └── index.php
└── tests/
    ├── 7.0-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-iconv/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   ├── iconv.php
    │   └── test
    ├── 7.1-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-phpunit/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-argon/
    │   ├── Dockerfile
    │   ├── argon.php
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-phpunit/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-argon/
    │   ├── Dockerfile
    │   ├── argon.php
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-phpunit/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    └── test

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
# http://editorconfig.org

root = true

[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[{docker/hooks/build,docker/hooks/post_push}]
indent_style = space
indent_size = 4

[docker/*.Dockerfile]
indent_style = space
indent_size = 4

[*.yml]
indent_style = space
indent_size = 2

[Makefile]
indent_style = space
indent_size = 2
trim_trailing_whitespace = false

[APKBUILD]
indent_style = space
indent_size = 2

[*.patch]
trim_trailing_whitespace = unset
end_of_line = unset
insert_final_newline = unset


================================================
FILE: .github/CODE_OF_CONDUCT.md
================================================
# Code of conduct

This project is part of the [PHP.earth](https://php.earth) group which follows a
[code of conduct](https://conduct.php.earth) to guarantee a welcoming, safe,
inclusive, and harassment-free environment for anyone.


================================================
FILE: .github/CONTRIBUTING.md
================================================
# Contributing guide

Contributions are most welcome. Below is described procedure for contributing to
this repository.

* Fork this repository over GitHub
* Create a separate branch, for instance `patch-1` so you will not need to rebase
  your fork if your master branch is merged

  ```bash
  git clone git@github.com:your_username/docker-php
  cd docker-php
  git checkout -b patch-1
  ```
* Make changes, commit them and push to your fork

  ```bash
  git add .
  git commit -m "Fix bug"
  git push origin patch-1
  ```
* Open a pull request

## Style guide

* This repository uses [Markdown](https://daringfireball.net/projects/markdown/)
  syntax and follows
  [cirosantilli/markdown-style-guide](http://www.cirosantilli.com/markdown-style-guide/)
  style guide.

## GitHub issues labels

Labels are used to organize issues and pull requests into manageable categories.
The following labels are used:

* **bug** - Attached when bug is reported.
* **duplicate** - Attached when the same issue or pull request already exists.
* **enhancement** - Attached when creating a new feature.
* **invalid** - Attached when the issue or pull request does not correspond with
  scope of the repository or because of some inconsistency.
* **question** - Attached for questions or discussions.
* **wontfix** - Attached when decided that issue will not be fixed.

## Release process

*(For repository maintainers)*

This repository follows [semantic versioning](http://semver.org/). When source
code changes, new features are implemented, or PHP version gets upgraded, a new
version (e.g. 1.x.y) is released by the following release process:

* **1. Tests**

  Tests are run with [Goss](https://github.com/aelsabbahy/goss):

  ```bash
  make test [t="<test-folder-1> <test-folder-2> ..."]
  ```

* **2. Update changelog**

  Create an entry in [CHANGELOG.md](/CHANGELOG.md) describing all the changes
  from previous release.

* **3. Docker images**

  Build and push Docker images to [Docker Hub](https://hub.docker.com/r/phpearth/php/).

  ```bash
  make build-and-push
  ```


================================================
FILE: .travis.yml
================================================
sudo: required

services:
  - docker

before_install:
  # install goss
  - curl -L https://goss.rocks/install | sudo sh

script:
  - cd tests && ./test


================================================
FILE: CHANGELOG.md
================================================
# Changelog

All notable changes to this project will be documented in this file. This project
[keeps a CHANGELOG](http://keepachangelog.com/) based on the time changes.

## 2019-05-10

* PHP 7.4.0-dev

## 2018-12-06

* PHP 7.3.0

## 2018-10-24

* PHP 7.3.0RC4
* PHP 7.2.11
* PHP 7.1.23

## 2018-09-25

* Alpine 3.8.1 base image update

## 2018-09-13

* PHP 7.3.0RC1
* PHP 7.2.10
* PHP 7.1.22
* PHP 7.0.32

## 2018-09-06

* PHP 7.3.0beta3
* PHP 7.2.9
* PHP 7.1.21

## 2018-07-21

* Alpine 3.8
* PHP 7.0.31
* PHP 7.1.19
* PHP 7.2.8
* PHP 7.3.0 alpha 4

## 2018-06-22

* PHP 7.3 images
* PHP 7.2.7

## 2018-06-21

* Repository moved to github.com/phpearth
* PHP 7.2.4
* PHP 7.1.16
* PHP 7.0.29
* OpenLiteSpeed 1.5.0 RC 2 r101
* PHP 7.2.3 r101
* PHP 7.2.3
* PHP 7.0.28
* PHP 7.1.15
* OpenLiteSpeed 1.5.0 RC2
* OpenLiteSpeed 1.4.29
* PHP 7.1.14
* PHP 7.2.2

## 2018-02-01

* PHP 7.0.27
* PHP 7.1.13
* PHP 7.2.1

## 2018-01-03

* Alpine 3.7
* PHP 7.2.0 stable
* Fix OpenLiteSpeed images to run the server properly
* Expose important web server ports in Docker images
* New Lighttpd web server images

## 2017-11-22

* PHP 7.2.0RC6
* PHP 7.1.12
* PHP 7.0.26
* OpenLiteSpeed 1.4.28

## 2017-10-29

* Add phar extension to all Docker images except minimal ones.
* Use PHP.earth Alpine packages with custom compiler optimization flags.

## 2017-10-25

* PHP 7.2.0RC5
* PHP 7.1.11
* PHP 7.0.25
* New images with only PHP CLI from PHP.earth Alpine repos
* Alpine repository moved to its own [location](https://github.com/php-earth/alpine)
  and repository folder structure refactored

## 2017-10-01

* Refactored PHP APKBUILD files
* PHPUnit 6.3.1
* Fixed bug with PHP bundled libgd not working with provided GNU libiconv package:
  ```
  PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/7.1/modules/gd.so' - Error relocating /usr/lib/php/7.1/modules/gd.so: libiconv: symbol not found in Unknown on line )
  ```
* PHP 7.0.24
* PHP 7.1.10
* PHP 7.2.0RC3
* Swoole 1.9.21
* PECL Libsodium 2.0.8
* PECL Redis 3.1.4
* [Apache bug fixed](https://github.com/php-earth/docker-php/issues/4)

## 2017-09-20

* Swoole 1.9.20
* OpenLiteSpeed 1.4.27
* PHP 7.2.0 RC2
* PHP 7.1.9
* PHP 7.0.23
* MongoDB 1.3.0
* Composer 1.5.2
* [iconv bug fix](https://github.com/php-earth/docker-php/issues/3)

## 2017-08-14

* Refactor and fix multiple issues with Alpine repository packages
* Swoole 1.9.18
* PHPUnit 6.3.0
* Composer 1.5.1
* PHP 7.2.0 beta 2
* PHP 7.1.8
* PHP 7.0.22
* New tests

## 2017-07-06

* Debian based images removed in favor of Alpine for smallest possible sizes
* Introducing PHP.earth Alpine repository

## 2017-06-20

* Apache HTTP Server
* PHP CGI
* Refactored and stabilized Docker tags
* Improved documentation
* Tests

## 2017-06-12

* Repository location refactored
* PEAR removed
* PHP 7.2.0alpha1
* Composer installation script with optional prestissimo plugin

## 2017-06-03

* OpenLiteSpeed 1.4.26
* New tag added for OpenLiteSpeed on Alpine
* Use `-O3` optimization level for GCC when compiling PHP
* Move intl, xsl and gettext PHP extensions to installation script
* Optimize Debian images size

## 2017-05-29

* Improved script for downloading PHP extensions
* Fixed minor bug in script for downloading Composer
* Removed bash from Alpine Docker images
* Refactor Dockerfiles
* PHP GD extension moved to installation script

## 2017-05-27

* Refactored Docker tags
* Upgraded to Alpine 3.6 base images
* Installation script for Composer and Prestissimo plugin for parallel downloading
  of PHP packages

## 2017-05-13

* Repository refactored
* PHP 7.1.5

## 2017-04-13

* PHP 7.1.4

## 2017-04-01

* Xdebug extension

## 2017-04-01

* Fixed OpenLiteSpeed installation dependencies

## 2017-04-01

* Added support for multiple PHP extensions
* Documentation improvements
* Composer removed from base images

## 2017-03-31

* xmlrpc support
* postgresql and pdo_pgsql support
* gmp support
* recode support

## 2017-03-28

* The imagick PECL extension support

## 2017-03-27

* The memcached extension support

## 2017-03-21

* Tidy extension support
* WDDX extension support

## 2017-03-20

* Initial release with PHP 7.1.3


================================================
FILE: LICENSE
================================================
Copyright (c) 2016-present PHP.earth

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.


================================================
FILE: Makefile
================================================
.RECIPEPREFIX := $(.RECIPEPREFIX) 
.DEFAULT_GOAL := help
.PHONY: *

help:
  @echo "\033[33mUsage:\033[0m\n  make [target] [arg=\"val\"...]\n\n\033[33mTargets:\033[0m"
  @grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "  \033[32m%-15s\033[0m %s\n", $$1, $$2}'

test: ## Run all tests; Usage: make test [t="<test-folder-1> <test-folder-2> ..."]
  @cd tests; \
  ./test "$(t)"

build: ## Build image. Usage: make build TAG="7.0-cli"
  @docker build --no-cache --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`git rev-parse --short HEAD` -t phpearth/php:$(TAG) -f docker/$(TAG).Dockerfile docker

build-70: ## Build PHP 7.0 images
  make build TAG="7.0"
  make build TAG="7.0-apache"
  make build TAG="7.0-cgi"
  make build TAG="7.0-cli"
  make build TAG="7.0-lighttpd"
  make build TAG="7.0-litespeed"
  make build TAG="7.0-nginx"

build-71: ## Build PHP 7.1 images
  make build TAG="7.1"
  make build TAG="7.1-apache"
  make build TAG="7.1-cgi"
  make build TAG="7.1-cli"
  make build TAG="7.1-lighttpd"
  make build TAG="7.1-litespeed"
  make build TAG="7.1-nginx"

build-72: ## Build PHP 7.2 images
  make build TAG="7.2"
  make build TAG="7.2-apache"
  make build TAG="7.2-cgi"
  make build TAG="7.2-cli"
  make build TAG="7.2-lighttpd"
  make build TAG="7.2-litespeed"
  make build TAG="7.2-nginx"

build-73: ## Build PHP 7.3 images
  make build TAG="7.3"
  make build TAG="7.3-apache"
  make build TAG="7.3-cgi"
  make build TAG="7.3-cli"
  make build TAG="7.3-lighttpd"
  make build TAG="7.3-litespeed"
  make build TAG="7.3-nginx"

build-all: ## Build all images
  make build-70
  make build-71
  make build-72
  make build-73

push-70: ## Push built PHP 7.0 images to Docker Hub
  @docker push phpearth/php:7.0
  @docker push phpearth/php:7.0-apache
  @docker push phpearth/php:7.0-cgi
  @docker push phpearth/php:7.0-cli
  @docker push phpearth/php:7.0-lighttpd
  @docker push phpearth/php:7.0-litespeed
  @docker push phpearth/php:7.0-nginx

push-71: ## Push built PHP 7.1 images to Docker Hub
  @docker push phpearth/php:7.1
  @docker push phpearth/php:7.1-apache
  @docker push phpearth/php:7.1-cgi
  @docker push phpearth/php:7.1-cli
  @docker push phpearth/php:7.1-lighttpd
  @docker push phpearth/php:7.1-litespeed
  @docker push phpearth/php:7.1-nginx

push-72: ## Push built PHP 7.2 images to Docker Hub
  @docker push phpearth/php:7.2
  @docker push phpearth/php:7.2-apache
  @docker push phpearth/php:7.2-cgi
  @docker push phpearth/php:7.2-cli
  @docker push phpearth/php:7.2-lighttpd
  @docker push phpearth/php:7.2-litespeed
  @docker push phpearth/php:7.2-nginx

push-73: ## Push built PHP 7.3 images to Docker Hub
  @docker push phpearth/php:7.3
  @docker push phpearth/php:7.3-apache
  @docker push phpearth/php:7.3-cgi
  @docker push phpearth/php:7.3-cli
  @docker push phpearth/php:7.3-lighttpd
  @docker push phpearth/php:7.3-litespeed
  @docker push phpearth/php:7.3-nginx
  @docker tag phpearth/php:7.3 phpearth/php:latest
  @docker push phpearth/php:latest

push-all: ## Push all built images to Docker Hub
  make push-70
  make push-71
  make push-72
  make push-73

build-and-push-70: ## Build and push PHP 7.0 images to Docker Hub
  make build-70
  make push-70

build-and-push-71: ## Build and push PHP 7.1 images to Docker Hub
  make build-71
  make push-71

build-and-push-72: ## Build and push PHP 7.2 images to Docker Hub
  make build-72
  make push-72

build-and-push-73: ## Build and push PHP 7.3 images to Docker Hub
  make build-73
  make push-73

build-and-push: ## Build all images and push them to Docker Hub
  make build-all
  make push-all

clean: ## Clean all containers and images on the system
  -@docker ps -a -q | xargs docker rm -f
  -@docker images -q | xargs docker rmi -f


================================================
FILE: README.md
================================================
# Docker for PHP developers

[![Build Status](https://img.shields.io/travis/phpearth/docker-php/master.svg?style=plastic)](https://travis-ci.org/phpearth/docker-php) [![Docker Automated build](https://img.shields.io/docker/automated/phpearth/php.svg?style=plastic)](https://hub.docker.com/r/phpearth/php/) [![MIT License](https://img.shields.io/github/license/phpearth/docker-php.svg?style=plastic "MIT License")](https://github.com/phpearth/docker-php/blob/master/LICENSE)

Carefully crafted Docker images for PHP developers with PHP 7.3, PHP 7.2, PHP 7.1, PHP 7.0, Nginx, OpenLiteSpeed, Apache HTTP Server, and Lighttpd.

![PHP.earth](https://cdn.rawgit.com/phpearth/logo/master/svg/indigo_300x300.svg "PHP.earth")

* Fast and simple PHP extensions installation
* Optional Composer installation
* Optional PHPUnit installation
* [runit](http://smarden.org/runit/) for running multiple services without overhead
* Alpine base image with [PHP.earth PHP repositories](https://docs.php.earth/linux/alpine)
* Optimized Docker image sizes
* Multiple PHP versions

## Documentation

Documentation with Docker and PHP recipes is available on [PHP.earth](https://docs.php.earth/docker).

## Docker tags

The following list contains all current Docker tags and what is included in each.

| System | Docker Tag | Features | Size |
| ------ | ---------- | -------- | ---- |
| **PHP 7.4.0alpha1**@Alpine 3.9.4 | [`7.4`](https://github.com/phpearth/docker-php/tree/master/docker/7.4.Dockerfile) | Small PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.4.svg)](https://microbadger.com/images/phpearth/php:7.4 "Image size") |
| | [`7.4-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-cli.Dockerfile) | PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.4-cli.svg)](https://microbadger.com/images/phpearth/php:7.4-cli "Image size") |
| | [`7.4-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.4-lighttpd.svg)](https://microbadger.com/images/phpearth/php:7.4-lighttpd "Image size") |
| | [`7.4-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.4-litespeed.svg)](https://microbadger.com/images/phpearth/php:7.4-litespeed "Image size") |
| | [`7.4-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-nginx.Dockerfile) | Nginx 1.14.2, FPM | [![](https://images.microbadger.com/badges/image/phpearth/php:7.4-nginx.svg)](https://microbadger.com/images/phpearth/php:7.4-nginx "Image size") |
| | [`7.4-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-apache.Dockerfile) | Apache 2.4.39 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.4-apache.svg)](https://microbadger.com/images/phpearth/php:7.4-apache "Image size") |
| | [`7.4-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.4-cgi.Dockerfile) | PHP CGI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.4-cgi.svg)](https://microbadger.com/images/phpearth/php:7.4-cgi "Image size") |
| **PHP 7.3.4**@Alpine 3.9.3 | [`latest`, `7.3`](https://github.com/phpearth/docker-php/tree/master/docker/7.3.Dockerfile) | Small PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.3.svg)](https://microbadger.com/images/phpearth/php:7.3 "Image size") |
| | [`7.3-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-cli.Dockerfile) | PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.3-cli.svg)](https://microbadger.com/images/phpearth/php:7.3-cli "Image size") |
| | [`7.3-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.3-lighttpd.svg)](https://microbadger.com/images/phpearth/php:7.3-lighttpd "Image size") |
| | [`7.3-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.3-litespeed.svg)](https://microbadger.com/images/phpearth/php:7.3-litespeed "Image size") |
| | [`7.3-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-nginx.Dockerfile) | Nginx 1.14.2, FPM | [![](https://images.microbadger.com/badges/image/phpearth/php:7.3-nginx.svg)](https://microbadger.com/images/phpearth/php:7.3-nginx "Image size") |
| | [`7.3-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-apache.Dockerfile) | Apache 2.4.38 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.3-apache.svg)](https://microbadger.com/images/phpearth/php:7.3-apache "Image size") |
| | [`7.3-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.3-cgi.Dockerfile) | PHP CGI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.3-cgi.svg)](https://microbadger.com/images/phpearth/php:7.3-cgi "Image size") |
| **PHP 7.2.17**@Alpine 3.9.3 | [`7.2`](https://github.com/phpearth/docker-php/tree/master/docker/7.2.Dockerfile) | Small PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.2.svg)](https://microbadger.com/images/phpearth/php:7.2 "Image size") |
| | [`7.2-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-cli.Dockerfile) | PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.2-cli.svg)](https://microbadger.com/images/phpearth/php:7.2-cli "Image size") |
| | [`7.2-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.2-lighttpd.svg)](https://microbadger.com/images/phpearth/php:7.2-lighttpd "Image size") |
| | [`7.2-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.2-litespeed.svg)](https://microbadger.com/images/phpearth/php:7.2-litespeed "Image size") |
| | [`7.2-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-nginx.Dockerfile) | Nginx 1.14.2, FPM | [![](https://images.microbadger.com/badges/image/phpearth/php:7.2-nginx.svg)](https://microbadger.com/images/phpearth/php:7.2-nginx "Image size") |
| | [`7.2-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-apache.Dockerfile) | Apache 2.4.38 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.2-apache.svg)](https://microbadger.com/images/phpearth/php:7.2-apache "Image size") |
| | [`7.2-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.2-cgi.Dockerfile) | PHP CGI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.2-cgi.svg)](https://microbadger.com/images/phpearth/php:7.2-cgi "Image size") |
| **PHP 7.1.28**@Alpine 3.9.3 | [`7.1`](https://github.com/phpearth/docker-php/tree/master/docker/7.1.Dockerfile) | Small PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.1.svg)](https://microbadger.com/images/phpearth/php:7.1 "Image size") |
| | [`7.1-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-cli.Dockerfile) | PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.1-cli.svg)](https://microbadger.com/images/phpearth/php:7.1-cli "Image size") |
| | [`7.1-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-lighttpd.Dockerfile) | Lighttpd 1.4.52 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.1-lighttpd.svg)](https://microbadger.com/images/phpearth/php:7.1-lighttpd "Image size") |
| | [`7.1-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.1-litespeed.svg)](https://microbadger.com/images/phpearth/php:7.1-litespeed "Image size") |
| | [`7.1-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-nginx.Dockerfile) | Nginx 1.14.2, FPM | [![](https://images.microbadger.com/badges/image/phpearth/php:7.1-nginx.svg)](https://microbadger.com/images/phpearth/php:7.1-nginx "Image size") |
| | [`7.1-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-apache.Dockerfile) | Apache 2.4.38 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.1-apache.svg)](https://microbadger.com/images/phpearth/php:7.1-apache "Image size") |
| | [`7.1-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.1-cgi.Dockerfile) | PHP CGI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.1-cgi.svg)](https://microbadger.com/images/phpearth/php:7.1-cgi "Image size") |
| **PHP 7.0.33**@Alpine 3.7.3 | [`7.0`](https://github.com/phpearth/docker-php/tree/master/docker/7.0.Dockerfile) | Small PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.0.svg)](https://microbadger.com/images/phpearth/php:7.0 "Image size") |
| | [`7.0-cli`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-cli.Dockerfile) | PHP CLI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.0-cli.svg)](https://microbadger.com/images/phpearth/php:7.0-cli "Image size") |
| | [`7.0-lighttpd`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-lighttpd.Dockerfile) | Lighttpd 1.4.48 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.0-lighttpd.svg)](https://microbadger.com/images/phpearth/php:7.0-lighttpd "Image size") |
| | [`7.0-litespeed`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-litespeed.Dockerfile) | OpenLiteSpeed 1.5.0 RC3 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.0-litespeed.svg)](https://microbadger.com/images/phpearth/php:7.0-litespeed "Image size") |
| | [`7.0-nginx`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-nginx.Dockerfile) | Nginx 1.12.2, FPM | [![](https://images.microbadger.com/badges/image/phpearth/php:7.0-nginx.svg)](https://microbadger.com/images/phpearth/php:7.0-nginx "Image size") |
| | [`7.0-apache`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-apache.Dockerfile) | Apache 2.4.38 | [![](https://images.microbadger.com/badges/image/phpearth/php:7.0-apache.svg)](https://microbadger.com/images/phpearth/php:7.0-apache "Image size") |
| | [`7.0-cgi`](https://github.com/phpearth/docker-php/tree/master/docker/7.0-cgi.Dockerfile) | PHP CGI | [![](https://images.microbadger.com/badges/image/phpearth/php:7.0-cgi.svg)](https://microbadger.com/images/phpearth/php:7.0-cgi "Image size") |

Tags follow PHP release cycle and [PHP supported versions timeline](http://php.net/supported-versions.php).

| PHP     | Active Support Until | Security Support Until | Info |
| ------- | -------------------- | ---------------------- | ---- |
| **7.4** | TBD                  | TBD                    | Development 7.4 branch for testing |
| **7.3** | TBD                  | TBD                    | Current recommended branch for production |
| **7.2** | 2019-11-30           | 2020-11-20             | Previous stable branch |
| **7.1** | 2018-12-01           | 2019-12-01             | Previous branch for legacy projects |
| **7.0** | 2017-12-03           | 2018-12-03             | Previous branch for legacy projects, not supported anymore |

## Quick usage

### Nginx

`Dockerfile` for running Nginx HTTP server with PHP FPM:

```Dockerfile
FROM phpearth/php:7.3-nginx
```

Build Docker image and run Docker container:

```bash
docker build -t custom-php .
docker run --name custom-php-container -p 80:80 -d custom-php
```

### PHP CLI

To run a CLI PHP script:

```bash
docker run -it --rm -v `pwd`:/usr/src/myapp -w /usr/src/myapp phpearth/php php script.php
```

### Composer

To install Composer:

```Dockerfile
FROM phpearth/php:7.3-nginx

RUN apk add --no-cache composer
```

### PHPUnit

To install PHPUnit:

```Dockerfile
FROM phpearth/php:7.3-nginx

RUN apk add --no-cache phpunit
```

### OpenLiteSpeed

To run OpenLiteSpeed web server:

```Dockerfile
FROM phpearth/php:7.3-litespeed
```

### Lighttpd

To run Lighttpd web server:

```Dockerfile
FROM phpearth/php:7.3-lighttpd
```

### PHP extensions

To install additional PHP extensions, you can use packages from the [PHP.earth Alpine repository](https://docs.php.earth/linux/alpine):

```Dockerfile
FROM phpearth/php:7.3-nginx

RUN apk add --no-cache php7.3-sodium php7.3-intl php7.3-pdo_mysql
```

or install them with `pecl`:

```bash
apk add --no-cache php7.3-dev gcc g++
pecl install {extension-name}
```

### PHP ini settings

To configure extra [php.ini](https://www.php.net/manual/en/ini.php): settings,
create application specific `php.ini` and copy the file into docker image:


```ini
# php.ini
memory_limit = 512M
```

```Dockerfile
FROM phpearth/php:7.3-nginx

COPY php.ini $PHP_INI_DIR/conf.d/my-app.ini
```

#### Missing extension?

In case you'd need an additional extension in the PHP.earth repository, [open an issue](https://github.com/phpearth/docker-php/issues).

### Docker Stack

Docker Stack is way of orchestration of Docker services and simplifies running multiple services of your application. In this example we'll run an Nginx web server with PHP 7.3 FPM with `docker-compose.yml` file. In a new project directory create a `Dockerfile`:

```Dockerfile
FROM phpearth/php:7.3-nginx
```

The `docker-compose.yml` file:

```yml
version: '3.3'

services:
  app:
    image: my-dev-image
    volumes:
      - .:/var/www/html
    ports:
      - mode: host
        target: 80
        published: 80
```

The `index.php` file:

```php
<?php

phpinfo();
```

Finally we run:

```bash
# Initialize a new Swarm for development
docker swarm init
# Build above image
docker build -t my-dev-image -f Dockerfile .
# Deploy the above stack up and running
docker stack deploy -c docker-compose.yaml mystack
```

And there should be `phpinfo()` output visible on `http://localhost`. Make sure there isn't any other service listening on port 80 before running above command.

### PHP 7.0, 7.1, PHP 7.2

To use older versions PHP 7.0, 7.1, or 7.2 use Docker images with `7.0`, `7.1`, or `7.2`:

```Dockerfile
FROM phpearth/php:7.2-nginx

RUN apk add --no-cache composer
```

## PHP.earth Alpine repository

These Docker images include the latest PHP versions and packages for Alpine Linux via the 3rd party [PHP.earth Alpine repository](https://docs.php.earth/linux/alpine).

```Dockerfile
FROM alpine:3.8

ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub
RUN echo "https://repos.php.earth/alpine" >> /etc/apk/repositories \
    && apk add --no-cache php7.3
```

PHP.earth Alpine packages are prefixed with `php7.3`, `php7.2`, `php7.1`, and `php7.0`.

## Building Images

Images are automatically build on [Docker Hub](https://hub.docker.com/r/phpearth/php/).

Docker Cloud and therefore Docker Hub also provides
[overriding and customization](https://docs.docker.com/docker-cloud/builds/advanced/)
of various commands when building images automatically.

There are some hooks defined in the `docker/hooks` folder:

* `hooks/build` - executed when building image
* `hooks/post_push` - executed after building image, used to push additional tags
  to Docker Hub.

### Labels

[Labels](https://docs.docker.com/engine/userguide/labels-custom-metadata/) are
neat way to expose additional metadata about particular Docker object. We use
[Label Schema](http://label-schema.org/) when defining image labels:

* `build-date` - Date and time of the build. Defined as
  `org.label-schema.build-date=$BUILD_DATE`, where `$BUILD_DATE` is set dynamically
  via above `hooks/build` script
* `vcs-url` - Repository location on GitHub. Defined as
  `org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git"`
* `vcs-ref` - Reference to commit in Git repository
* `schema-version` - Version of the Label Schema in use.
* `vendor` - Vendor name of the image creators.
* `name`
* `description`
* `url`

## License and contributing

[Contributions](https://github.com/phpearth/docker-php/blob/master/.github/CONTRIBUTING.md) are most welcome. This repository is released under the [MIT license](https://github.com/phpearth/docker-php/blob/master/LICENSE).


================================================
FILE: docker/7.0-apache.Dockerfile
================================================
FROM alpine:3.7

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, Apache, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.0 \
        php7.0-phar \
        php7.0-bcmath \
        php7.0-calendar \
        php7.0-mbstring \
        php7.0-exif \
        php7.0-ftp \
        php7.0-openssl \
        php7.0-zip \
        php7.0-sysvsem \
        php7.0-sysvshm \
        php7.0-sysvmsg \
        php7.0-shmop \
        php7.0-sockets \
        php7.0-zlib \
        php7.0-bz2 \
        php7.0-curl \
        php7.0-simplexml \
        php7.0-xml \
        php7.0-opcache \
        php7.0-dom \
        php7.0-xmlreader \
        php7.0-xmlwriter \
        php7.0-tokenizer \
        php7.0-ctype \
        php7.0-session \
        php7.0-fileinfo \
        php7.0-iconv \
        php7.0-json \
        php7.0-posix \
        php7.0-apache2 \
        curl \
        ca-certificates \
        runit \
        apache2 \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && mkdir -p /run/apache2 \
    && ln -sf /dev/stdout /var/log/apache2/access.log \
    && ln -sf /dev/stderr /var/log/apache2/error.log

COPY tags/apache /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.0-cgi.Dockerfile
================================================
FROM alpine:3.7

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.0, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.0 \
        php7.0-phar \
        php7.0-bcmath \
        php7.0-calendar \
        php7.0-mbstring \
        php7.0-exif \
        php7.0-ftp \
        php7.0-openssl \
        php7.0-zip \
        php7.0-sysvsem \
        php7.0-sysvshm \
        php7.0-sysvmsg \
        php7.0-shmop \
        php7.0-sockets \
        php7.0-zlib \
        php7.0-bz2 \
        php7.0-curl \
        php7.0-simplexml \
        php7.0-xml \
        php7.0-opcache \
        php7.0-dom \
        php7.0-xmlreader \
        php7.0-xmlwriter \
        php7.0-tokenizer \
        php7.0-ctype \
        php7.0-session \
        php7.0-fileinfo \
        php7.0-iconv \
        php7.0-json \
        php7.0-posix \
        php7.0-cgi \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.0-cli.Dockerfile
================================================
FROM alpine:3.7

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.0, additional PHP extensions, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.0 \
        php7.0-phar \
        php7.0-bcmath \
        php7.0-calendar \
        php7.0-mbstring \
        php7.0-exif \
        php7.0-ftp \
        php7.0-openssl \
        php7.0-zip \
        php7.0-sysvsem \
        php7.0-sysvshm \
        php7.0-sysvmsg \
        php7.0-shmop \
        php7.0-sockets \
        php7.0-zlib \
        php7.0-bz2 \
        php7.0-curl \
        php7.0-simplexml \
        php7.0-xml \
        php7.0-opcache \
        php7.0-dom \
        php7.0-xmlreader \
        php7.0-xmlwriter \
        php7.0-tokenizer \
        php7.0-ctype \
        php7.0-session \
        php7.0-fileinfo \
        php7.0-iconv \
        php7.0-json \
        php7.0-posix \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.0-lighttpd.Dockerfile
================================================
FROM alpine:3.7

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, Lighttpd, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        lighttpd \
        php7.0 \
        php7.0-phar \
        php7.0-bcmath \
        php7.0-calendar \
        php7.0-mbstring \
        php7.0-exif \
        php7.0-ftp \
        php7.0-openssl \
        php7.0-zip \
        php7.0-sysvsem \
        php7.0-sysvshm \
        php7.0-sysvmsg \
        php7.0-shmop \
        php7.0-sockets \
        php7.0-zlib \
        php7.0-bz2 \
        php7.0-curl \
        php7.0-simplexml \
        php7.0-xml \
        php7.0-opcache \
        php7.0-dom \
        php7.0-xmlreader \
        php7.0-xmlwriter \
        php7.0-tokenizer \
        php7.0-ctype \
        php7.0-session \
        php7.0-fileinfo \
        php7.0-iconv \
        php7.0-json \
        php7.0-posix \
        php7.0-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

COPY tags/lighttpd /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.0-litespeed.Dockerfile
================================================
FROM alpine:3.7

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, OpenLiteSpeed, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        curl \
        ca-certificates \
        runit \
        php7.0 \
        php7.0-phar \
        php7.0-bcmath \
        php7.0-calendar \
        php7.0-mbstring \
        php7.0-exif \
        php7.0-ftp \
        php7.0-openssl \
        php7.0-zip \
        php7.0-sysvsem \
        php7.0-sysvshm \
        php7.0-sysvmsg \
        php7.0-shmop \
        php7.0-sockets \
        php7.0-zlib \
        php7.0-bz2 \
        php7.0-curl \
        php7.0-simplexml \
        php7.0-xml \
        php7.0-opcache \
        php7.0-dom \
        php7.0-xmlreader \
        php7.0-xmlwriter \
        php7.0-tokenizer \
        php7.0-ctype \
        php7.0-session \
        php7.0-fileinfo \
        php7.0-iconv \
        php7.0-json \
        php7.0-posix \
        php7.0-litespeed \
        litespeed \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
    && ln -sf /dev/stderr /var/lib/litespeed/logs/error.log

COPY tags/litespeed /

EXPOSE 8088 7080

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.0-nginx.Dockerfile
================================================
FROM alpine:3.7

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.0, Nginx, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        nginx \
        nginx-mod-http-headers-more \
        php7.0 \
        php7.0-phar \
        php7.0-bcmath \
        php7.0-calendar \
        php7.0-mbstring \
        php7.0-exif \
        php7.0-ftp \
        php7.0-openssl \
        php7.0-zip \
        php7.0-sysvsem \
        php7.0-sysvshm \
        php7.0-sysvmsg \
        php7.0-shmop \
        php7.0-sockets \
        php7.0-zlib \
        php7.0-bz2 \
        php7.0-curl \
        php7.0-simplexml \
        php7.0-xml \
        php7.0-opcache \
        php7.0-dom \
        php7.0-xmlreader \
        php7.0-xmlwriter \
        php7.0-tokenizer \
        php7.0-ctype \
        php7.0-session \
        php7.0-fileinfo \
        php7.0-iconv \
        php7.0-json \
        php7.0-posix \
        php7.0-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log

COPY tags/nginx /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.0.Dockerfile
================================================
FROM alpine:3.7

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.0, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.0

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.0 \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.7" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.1-apache.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, Apache, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.1 \
        php7.1-phar \
        php7.1-bcmath \
        php7.1-calendar \
        php7.1-mbstring \
        php7.1-exif \
        php7.1-ftp \
        php7.1-openssl \
        php7.1-zip \
        php7.1-sysvsem \
        php7.1-sysvshm \
        php7.1-sysvmsg \
        php7.1-shmop \
        php7.1-sockets \
        php7.1-zlib \
        php7.1-bz2 \
        php7.1-curl \
        php7.1-simplexml \
        php7.1-xml \
        php7.1-opcache \
        php7.1-dom \
        php7.1-xmlreader \
        php7.1-xmlwriter \
        php7.1-tokenizer \
        php7.1-ctype \
        php7.1-session \
        php7.1-fileinfo \
        php7.1-iconv \
        php7.1-json \
        php7.1-posix \
        php7.1-apache2 \
        curl \
        ca-certificates \
        runit \
        apache2 \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && mkdir -p /run/apache2 \
    && ln -sf /dev/stdout /var/log/apache2/access.log \
    && ln -sf /dev/stderr /var/log/apache2/error.log

COPY tags/apache /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.1-cgi.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.1, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.1 \
        php7.1-phar \
        php7.1-bcmath \
        php7.1-calendar \
        php7.1-mbstring \
        php7.1-exif \
        php7.1-ftp \
        php7.1-openssl \
        php7.1-zip \
        php7.1-sysvsem \
        php7.1-sysvshm \
        php7.1-sysvmsg \
        php7.1-shmop \
        php7.1-sockets \
        php7.1-zlib \
        php7.1-bz2 \
        php7.1-curl \
        php7.1-simplexml \
        php7.1-xml \
        php7.1-opcache \
        php7.1-dom \
        php7.1-xmlreader \
        php7.1-xmlwriter \
        php7.1-tokenizer \
        php7.1-ctype \
        php7.1-session \
        php7.1-fileinfo \
        php7.1-iconv \
        php7.1-json \
        php7.1-posix \
        php7.1-cgi \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.1-cli.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.1, additional PHP extensions, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.1 \
        php7.1-phar \
        php7.1-bcmath \
        php7.1-calendar \
        php7.1-mbstring \
        php7.1-exif \
        php7.1-ftp \
        php7.1-openssl \
        php7.1-zip \
        php7.1-sysvsem \
        php7.1-sysvshm \
        php7.1-sysvmsg \
        php7.1-shmop \
        php7.1-sockets \
        php7.1-zlib \
        php7.1-bz2 \
        php7.1-curl \
        php7.1-simplexml \
        php7.1-xml \
        php7.1-opcache \
        php7.1-dom \
        php7.1-xmlreader \
        php7.1-xmlwriter \
        php7.1-tokenizer \
        php7.1-ctype \
        php7.1-session \
        php7.1-fileinfo \
        php7.1-iconv \
        php7.1-json \
        php7.1-posix \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.1-lighttpd.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, Lighttpd, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        lighttpd \
        php7.1 \
        php7.1-phar \
        php7.1-bcmath \
        php7.1-calendar \
        php7.1-mbstring \
        php7.1-exif \
        php7.1-ftp \
        php7.1-openssl \
        php7.1-zip \
        php7.1-sysvsem \
        php7.1-sysvshm \
        php7.1-sysvmsg \
        php7.1-shmop \
        php7.1-sockets \
        php7.1-zlib \
        php7.1-bz2 \
        php7.1-curl \
        php7.1-simplexml \
        php7.1-xml \
        php7.1-opcache \
        php7.1-dom \
        php7.1-xmlreader \
        php7.1-xmlwriter \
        php7.1-tokenizer \
        php7.1-ctype \
        php7.1-session \
        php7.1-fileinfo \
        php7.1-iconv \
        php7.1-json \
        php7.1-posix \
        php7.1-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

COPY tags/lighttpd /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.1-litespeed.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, OpenLiteSpeed, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        curl \
        ca-certificates \
        runit \
        php7.1 \
        php7.1-phar \
        php7.1-bcmath \
        php7.1-calendar \
        php7.1-mbstring \
        php7.1-exif \
        php7.1-ftp \
        php7.1-openssl \
        php7.1-zip \
        php7.1-sysvsem \
        php7.1-sysvshm \
        php7.1-sysvmsg \
        php7.1-shmop \
        php7.1-sockets \
        php7.1-zlib \
        php7.1-bz2 \
        php7.1-curl \
        php7.1-simplexml \
        php7.1-xml \
        php7.1-opcache \
        php7.1-dom \
        php7.1-xmlreader \
        php7.1-xmlwriter \
        php7.1-tokenizer \
        php7.1-ctype \
        php7.1-session \
        php7.1-fileinfo \
        php7.1-iconv \
        php7.1-json \
        php7.1-posix \
        php7.1-litespeed \
        litespeed \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
    && ln -sf /dev/stderr /var/lib/litespeed/logs/error.log

COPY tags/litespeed /

EXPOSE 8088 7080

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.1-nginx.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.1, Nginx, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        nginx \
        nginx-mod-http-headers-more \
        php7.1 \
        php7.1-phar \
        php7.1-bcmath \
        php7.1-calendar \
        php7.1-mbstring \
        php7.1-exif \
        php7.1-ftp \
        php7.1-openssl \
        php7.1-zip \
        php7.1-sysvsem \
        php7.1-sysvshm \
        php7.1-sysvmsg \
        php7.1-shmop \
        php7.1-sockets \
        php7.1-zlib \
        php7.1-bz2 \
        php7.1-curl \
        php7.1-simplexml \
        php7.1-xml \
        php7.1-opcache \
        php7.1-dom \
        php7.1-xmlreader \
        php7.1-xmlwriter \
        php7.1-tokenizer \
        php7.1-ctype \
        php7.1-session \
        php7.1-fileinfo \
        php7.1-iconv \
        php7.1-json \
        php7.1-posix \
        php7.1-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log

COPY tags/nginx /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.1.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.1, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.1

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.1 \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.2-apache.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, Apache, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.2 \
        php7.2-phar \
        php7.2-bcmath \
        php7.2-calendar \
        php7.2-mbstring \
        php7.2-exif \
        php7.2-ftp \
        php7.2-openssl \
        php7.2-zip \
        php7.2-sysvsem \
        php7.2-sysvshm \
        php7.2-sysvmsg \
        php7.2-shmop \
        php7.2-sockets \
        php7.2-zlib \
        php7.2-bz2 \
        php7.2-curl \
        php7.2-simplexml \
        php7.2-xml \
        php7.2-opcache \
        php7.2-dom \
        php7.2-xmlreader \
        php7.2-xmlwriter \
        php7.2-tokenizer \
        php7.2-ctype \
        php7.2-session \
        php7.2-fileinfo \
        php7.2-iconv \
        php7.2-json \
        php7.2-posix \
        php7.2-apache2 \
        curl \
        ca-certificates \
        runit \
        apache2 \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && mkdir -p /run/apache2 \
    && ln -sf /dev/stdout /var/log/apache2/access.log \
    && ln -sf /dev/stderr /var/log/apache2/error.log

COPY tags/apache /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.2-cgi.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.2, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.2 \
        php7.2-phar \
        php7.2-bcmath \
        php7.2-calendar \
        php7.2-mbstring \
        php7.2-exif \
        php7.2-ftp \
        php7.2-openssl \
        php7.2-zip \
        php7.2-sysvsem \
        php7.2-sysvshm \
        php7.2-sysvmsg \
        php7.2-shmop \
        php7.2-sockets \
        php7.2-zlib \
        php7.2-bz2 \
        php7.2-curl \
        php7.2-simplexml \
        php7.2-xml \
        php7.2-opcache \
        php7.2-dom \
        php7.2-xmlreader \
        php7.2-xmlwriter \
        php7.2-tokenizer \
        php7.2-ctype \
        php7.2-session \
        php7.2-fileinfo \
        php7.2-iconv \
        php7.2-json \
        php7.2-posix \
        php7.2-cgi \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.2-cli.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.2, additional PHP extensions, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.2 \
        php7.2-phar \
        php7.2-bcmath \
        php7.2-calendar \
        php7.2-mbstring \
        php7.2-exif \
        php7.2-ftp \
        php7.2-openssl \
        php7.2-zip \
        php7.2-sysvsem \
        php7.2-sysvshm \
        php7.2-sysvmsg \
        php7.2-shmop \
        php7.2-sockets \
        php7.2-zlib \
        php7.2-bz2 \
        php7.2-curl \
        php7.2-simplexml \
        php7.2-xml \
        php7.2-opcache \
        php7.2-dom \
        php7.2-xmlreader \
        php7.2-xmlwriter \
        php7.2-tokenizer \
        php7.2-ctype \
        php7.2-session \
        php7.2-fileinfo \
        php7.2-iconv \
        php7.2-json \
        php7.2-posix \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.2-lighttpd.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, Lighttpd, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        lighttpd \
        php7.2 \
        php7.2-phar \
        php7.2-bcmath \
        php7.2-calendar \
        php7.2-mbstring \
        php7.2-exif \
        php7.2-ftp \
        php7.2-openssl \
        php7.2-zip \
        php7.2-sysvsem \
        php7.2-sysvshm \
        php7.2-sysvmsg \
        php7.2-shmop \
        php7.2-sockets \
        php7.2-zlib \
        php7.2-bz2 \
        php7.2-curl \
        php7.2-simplexml \
        php7.2-xml \
        php7.2-opcache \
        php7.2-dom \
        php7.2-xmlreader \
        php7.2-xmlwriter \
        php7.2-tokenizer \
        php7.2-ctype \
        php7.2-session \
        php7.2-fileinfo \
        php7.2-iconv \
        php7.2-json \
        php7.2-posix \
        php7.2-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

COPY tags/lighttpd /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.2-litespeed.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, OpenLiteSpeed, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        curl \
        ca-certificates \
        runit \
        php7.2 \
        php7.2-phar \
        php7.2-bcmath \
        php7.2-calendar \
        php7.2-mbstring \
        php7.2-exif \
        php7.2-ftp \
        php7.2-openssl \
        php7.2-zip \
        php7.2-sysvsem \
        php7.2-sysvshm \
        php7.2-sysvmsg \
        php7.2-shmop \
        php7.2-sockets \
        php7.2-zlib \
        php7.2-bz2 \
        php7.2-curl \
        php7.2-simplexml \
        php7.2-xml \
        php7.2-opcache \
        php7.2-dom \
        php7.2-xmlreader \
        php7.2-xmlwriter \
        php7.2-tokenizer \
        php7.2-ctype \
        php7.2-session \
        php7.2-fileinfo \
        php7.2-iconv \
        php7.2-json \
        php7.2-posix \
        php7.2-litespeed \
        litespeed \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
    && ln -sf /dev/stderr /var/lib/litespeed/logs/error.log

COPY tags/litespeed /

EXPOSE 8088 7080

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.2-nginx.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.2, Nginx, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        nginx \
        nginx-mod-http-headers-more \
        php7.2 \
        php7.2-phar \
        php7.2-bcmath \
        php7.2-calendar \
        php7.2-mbstring \
        php7.2-exif \
        php7.2-ftp \
        php7.2-openssl \
        php7.2-zip \
        php7.2-sysvsem \
        php7.2-sysvshm \
        php7.2-sysvmsg \
        php7.2-shmop \
        php7.2-sockets \
        php7.2-zlib \
        php7.2-bz2 \
        php7.2-curl \
        php7.2-simplexml \
        php7.2-xml \
        php7.2-opcache \
        php7.2-dom \
        php7.2-xmlreader \
        php7.2-xmlwriter \
        php7.2-tokenizer \
        php7.2-ctype \
        php7.2-session \
        php7.2-fileinfo \
        php7.2-iconv \
        php7.2-json \
        php7.2-posix \
        php7.2-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log

COPY tags/nginx /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.2.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.2, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.2

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.2 \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache --virtual .build-deps $BUILD_DEPS \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.3-apache.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, Apache, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.3 \
        php7.3-phar \
        php7.3-bcmath \
        php7.3-calendar \
        php7.3-mbstring \
        php7.3-exif \
        php7.3-ftp \
        php7.3-openssl \
        php7.3-zip \
        php7.3-sysvsem \
        php7.3-sysvshm \
        php7.3-sysvmsg \
        php7.3-shmop \
        php7.3-sockets \
        php7.3-zlib \
        php7.3-bz2 \
        php7.3-curl \
        php7.3-simplexml \
        php7.3-xml \
        php7.3-opcache \
        php7.3-dom \
        php7.3-xmlreader \
        php7.3-xmlwriter \
        php7.3-tokenizer \
        php7.3-ctype \
        php7.3-session \
        php7.3-fileinfo \
        php7.3-iconv \
        php7.3-json \
        php7.3-posix \
        php7.3-apache2 \
        curl \
        ca-certificates \
        runit \
        apache2 \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && mkdir -p /run/apache2 \
    && ln -sf /dev/stdout /var/log/apache2/access.log \
    && ln -sf /dev/stderr /var/log/apache2/error.log

COPY tags/apache /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.3-cgi.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.3, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.3 \
        php7.3-phar \
        php7.3-bcmath \
        php7.3-calendar \
        php7.3-mbstring \
        php7.3-exif \
        php7.3-ftp \
        php7.3-openssl \
        php7.3-zip \
        php7.3-sysvsem \
        php7.3-sysvshm \
        php7.3-sysvmsg \
        php7.3-shmop \
        php7.3-sockets \
        php7.3-zlib \
        php7.3-bz2 \
        php7.3-curl \
        php7.3-simplexml \
        php7.3-xml \
        php7.3-opcache \
        php7.3-dom \
        php7.3-xmlreader \
        php7.3-xmlwriter \
        php7.3-tokenizer \
        php7.3-ctype \
        php7.3-session \
        php7.3-fileinfo \
        php7.3-iconv \
        php7.3-json \
        php7.3-posix \
        php7.3-cgi \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.3-cli.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.3, additional PHP extensions, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.3 \
        php7.3-phar \
        php7.3-bcmath \
        php7.3-calendar \
        php7.3-mbstring \
        php7.3-exif \
        php7.3-ftp \
        php7.3-openssl \
        php7.3-zip \
        php7.3-sysvsem \
        php7.3-sysvshm \
        php7.3-sysvmsg \
        php7.3-shmop \
        php7.3-sockets \
        php7.3-zlib \
        php7.3-bz2 \
        php7.3-curl \
        php7.3-simplexml \
        php7.3-xml \
        php7.3-opcache \
        php7.3-dom \
        php7.3-xmlreader \
        php7.3-xmlwriter \
        php7.3-tokenizer \
        php7.3-ctype \
        php7.3-session \
        php7.3-fileinfo \
        php7.3-iconv \
        php7.3-json \
        php7.3-posix \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.3-lighttpd.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, Lighttpd, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        lighttpd \
        php7.3 \
        php7.3-phar \
        php7.3-bcmath \
        php7.3-calendar \
        php7.3-mbstring \
        php7.3-exif \
        php7.3-ftp \
        php7.3-openssl \
        php7.3-zip \
        php7.3-sysvsem \
        php7.3-sysvshm \
        php7.3-sysvmsg \
        php7.3-shmop \
        php7.3-sockets \
        php7.3-zlib \
        php7.3-bz2 \
        php7.3-curl \
        php7.3-simplexml \
        php7.3-xml \
        php7.3-opcache \
        php7.3-dom \
        php7.3-xmlreader \
        php7.3-xmlwriter \
        php7.3-tokenizer \
        php7.3-ctype \
        php7.3-session \
        php7.3-fileinfo \
        php7.3-iconv \
        php7.3-json \
        php7.3-posix \
        php7.3-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

COPY tags/lighttpd /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.3-litespeed.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, OpenLiteSpeed, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        curl \
        ca-certificates \
        runit \
        php7.3 \
        php7.3-phar \
        php7.3-bcmath \
        php7.3-calendar \
        php7.3-mbstring \
        php7.3-exif \
        php7.3-ftp \
        php7.3-openssl \
        php7.3-zip \
        php7.3-sysvsem \
        php7.3-sysvshm \
        php7.3-sysvmsg \
        php7.3-shmop \
        php7.3-sockets \
        php7.3-zlib \
        php7.3-bz2 \
        php7.3-curl \
        php7.3-simplexml \
        php7.3-xml \
        php7.3-opcache \
        php7.3-dom \
        php7.3-xmlreader \
        php7.3-xmlwriter \
        php7.3-tokenizer \
        php7.3-ctype \
        php7.3-session \
        php7.3-fileinfo \
        php7.3-iconv \
        php7.3-json \
        php7.3-posix \
        php7.3-litespeed \
        litespeed \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
    && ln -sf /dev/stderr /var/lib/litespeed/logs/error.log

COPY tags/litespeed /

EXPOSE 8088 7080

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.3-nginx.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.3, Nginx, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        nginx \
        nginx-mod-http-headers-more \
        php7.3 \
        php7.3-phar \
        php7.3-bcmath \
        php7.3-calendar \
        php7.3-mbstring \
        php7.3-exif \
        php7.3-ftp \
        php7.3-openssl \
        php7.3-zip \
        php7.3-sysvsem \
        php7.3-sysvshm \
        php7.3-sysvmsg \
        php7.3-shmop \
        php7.3-sockets \
        php7.3-zlib \
        php7.3-bz2 \
        php7.3-curl \
        php7.3-simplexml \
        php7.3-xml \
        php7.3-opcache \
        php7.3-dom \
        php7.3-xmlreader \
        php7.3-xmlwriter \
        php7.3-tokenizer \
        php7.3-ctype \
        php7.3-session \
        php7.3-fileinfo \
        php7.3-iconv \
        php7.3-json \
        php7.3-posix \
        php7.3-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log

COPY tags/nginx /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.3.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.3, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.3

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.3 \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache --virtual .build-deps $BUILD_DEPS \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.4-apache.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, Apache, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.4 \
        php7.4-phar \
        php7.4-bcmath \
        php7.4-calendar \
        php7.4-mbstring \
        php7.4-exif \
        php7.4-ftp \
        php7.4-openssl \
        php7.4-zip \
        php7.4-sysvsem \
        php7.4-sysvshm \
        php7.4-sysvmsg \
        php7.4-shmop \
        php7.4-sockets \
        php7.4-zlib \
        php7.4-bz2 \
        php7.4-curl \
        php7.4-simplexml \
        php7.4-xml \
        php7.4-opcache \
        php7.4-dom \
        php7.4-xmlreader \
        php7.4-xmlwriter \
        php7.4-tokenizer \
        php7.4-ctype \
        php7.4-session \
        php7.4-fileinfo \
        php7.4-iconv \
        php7.4-json \
        php7.4-posix \
        php7.4-apache2 \
        curl \
        ca-certificates \
        runit \
        apache2 \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && mkdir -p /run/apache2 \
    && ln -sf /dev/stdout /var/log/apache2/access.log \
    && ln -sf /dev/stderr /var/log/apache2/error.log

COPY tags/apache /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.4-cgi.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CGI 7.4, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.4 \
        php7.4-phar \
        php7.4-bcmath \
        php7.4-calendar \
        php7.4-mbstring \
        php7.4-exif \
        php7.4-ftp \
        php7.4-openssl \
        php7.4-zip \
        php7.4-sysvsem \
        php7.4-sysvshm \
        php7.4-sysvmsg \
        php7.4-shmop \
        php7.4-sockets \
        php7.4-zlib \
        php7.4-bz2 \
        php7.4-curl \
        php7.4-simplexml \
        php7.4-xml \
        php7.4-opcache \
        php7.4-dom \
        php7.4-xmlreader \
        php7.4-xmlwriter \
        php7.4-tokenizer \
        php7.4-ctype \
        php7.4-session \
        php7.4-fileinfo \
        php7.4-iconv \
        php7.4-json \
        php7.4-posix \
        php7.4-cgi \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.4-cli.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.4, additional PHP extensions, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.4 \
        php7.4-phar \
        php7.4-bcmath \
        php7.4-calendar \
        php7.4-mbstring \
        php7.4-exif \
        php7.4-ftp \
        php7.4-openssl \
        php7.4-zip \
        php7.4-sysvsem \
        php7.4-sysvshm \
        php7.4-sysvmsg \
        php7.4-shmop \
        php7.4-sockets \
        php7.4-zlib \
        php7.4-bz2 \
        php7.4-curl \
        php7.4-simplexml \
        php7.4-xml \
        php7.4-opcache \
        php7.4-dom \
        php7.4-xmlreader \
        php7.4-xmlwriter \
        php7.4-tokenizer \
        php7.4-ctype \
        php7.4-session \
        php7.4-fileinfo \
        php7.4-iconv \
        php7.4-json \
        php7.4-posix \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/7.4-lighttpd.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, Lighttpd, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        lighttpd \
        php7.4 \
        php7.4-phar \
        php7.4-bcmath \
        php7.4-calendar \
        php7.4-mbstring \
        php7.4-exif \
        php7.4-ftp \
        php7.4-openssl \
        php7.4-zip \
        php7.4-sysvsem \
        php7.4-sysvshm \
        php7.4-sysvmsg \
        php7.4-shmop \
        php7.4-sockets \
        php7.4-zlib \
        php7.4-bz2 \
        php7.4-curl \
        php7.4-simplexml \
        php7.4-xml \
        php7.4-opcache \
        php7.4-dom \
        php7.4-xmlreader \
        php7.4-xmlwriter \
        php7.4-tokenizer \
        php7.4-ctype \
        php7.4-session \
        php7.4-fileinfo \
        php7.4-iconv \
        php7.4-json \
        php7.4-posix \
        php7.4-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS

COPY tags/lighttpd /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.4-litespeed.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, OpenLiteSpeed, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        curl \
        ca-certificates \
        runit \
        php7.4 \
        php7.4-phar \
        php7.4-bcmath \
        php7.4-calendar \
        php7.4-mbstring \
        php7.4-exif \
        php7.4-ftp \
        php7.4-openssl \
        php7.4-zip \
        php7.4-sysvsem \
        php7.4-sysvshm \
        php7.4-sysvmsg \
        php7.4-shmop \
        php7.4-sockets \
        php7.4-zlib \
        php7.4-bz2 \
        php7.4-curl \
        php7.4-simplexml \
        php7.4-xml \
        php7.4-opcache \
        php7.4-dom \
        php7.4-xmlreader \
        php7.4-xmlwriter \
        php7.4-tokenizer \
        php7.4-ctype \
        php7.4-session \
        php7.4-fileinfo \
        php7.4-iconv \
        php7.4-json \
        php7.4-posix \
        php7.4-litespeed \
        litespeed \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/lib/litespeed/logs/access.log \
    && ln -sf /dev/stderr /var/lib/litespeed/logs/error.log

COPY tags/litespeed /

EXPOSE 8088 7080

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.4-nginx.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP 7.4, Nginx, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        nginx \
        nginx-mod-http-headers-more \
        php7.4 \
        php7.4-phar \
        php7.4-bcmath \
        php7.4-calendar \
        php7.4-mbstring \
        php7.4-exif \
        php7.4-ftp \
        php7.4-openssl \
        php7.4-zip \
        php7.4-sysvsem \
        php7.4-sysvshm \
        php7.4-sysvmsg \
        php7.4-shmop \
        php7.4-sockets \
        php7.4-zlib \
        php7.4-bz2 \
        php7.4-curl \
        php7.4-simplexml \
        php7.4-xml \
        php7.4-opcache \
        php7.4-dom \
        php7.4-xmlreader \
        php7.4-xmlwriter \
        php7.4-tokenizer \
        php7.4-ctype \
        php7.4-session \
        php7.4-fileinfo \
        php7.4-iconv \
        php7.4-json \
        php7.4-posix \
        php7.4-fpm \
        curl \
        ca-certificates \
        runit \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache $DEPS \
    && ln -sf /dev/stdout /var/log/nginx/access.log \
    && ln -sf /dev/stderr /var/log/nginx/error.log

COPY tags/nginx /

EXPOSE 80

CMD ["/sbin/runit-wrapper"]


================================================
FILE: docker/7.4.Dockerfile
================================================
FROM alpine:3.9

ARG BUILD_DATE
ARG VCS_REF

LABEL org.label-schema.build-date=$BUILD_DATE \
      org.label-schema.vcs-url="https://github.com/phpearth/docker-php.git" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.schema-version="1.0" \
      org.label-schema.vendor="PHP.earth" \
      org.label-schema.name="docker-php" \
      org.label-schema.description="Docker For PHP Developers - Docker image with PHP CLI 7.4, and Alpine" \
      org.label-schema.url="https://github.com/phpearth/docker-php"

# PHP_INI_DIR to be symmetrical with official php docker image
ENV PHP_INI_DIR /etc/php/7.4

# When using Composer, disable the warning about running commands as root/super user
ENV COMPOSER_ALLOW_SUPERUSER=1

# Persistent runtime dependencies
ARG DEPS="\
        php7.4 \
        curl \
        ca-certificates \
"

# PHP.earth Alpine repository for better developer experience
ADD https://repos.php.earth/alpine/phpearth.rsa.pub /etc/apk/keys/phpearth.rsa.pub

RUN set -x \
    && echo "https://repos.php.earth/alpine/v3.9" >> /etc/apk/repositories \
    && apk add --no-cache --virtual .build-deps $BUILD_DEPS \
    && apk add --no-cache $DEPS

CMD ["php", "-a"]


================================================
FILE: docker/hooks/build
================================================
#!/bin/bash

TAG=$(echo $IMAGE_NAME| cut -d':' -f 2)

echo "Build hook running"
docker build --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
             --build-arg VCS_REF=`git rev-parse --short HEAD` \
             -t $IMAGE_NAME -f $TAG.Dockerfile .


================================================
FILE: docker/hooks/post_push
================================================
#!/bin/bash

TAG=$(echo $IMAGE_NAME| cut -d':' -f 2)

if [ "$TAG" == "7.3" ]; then
  docker tag $IMAGE_NAME $DOCKER_REPO:latest
  docker push $DOCKER_REPO:latest
fi


================================================
FILE: docker/tags/apache/etc/service/apache/run
================================================
#!/bin/sh

exec 2>&1
source /env

exec /usr/sbin/httpd -D FOREGROUND


================================================
FILE: docker/tags/apache/sbin/runit-wrapper
================================================
#!/bin/sh

main() {
  # Dump environment
  export > /env

  trap onterm SIGTERM SIGINT

  echo "Starting runit"
  /sbin/runsvdir-start &
  wait "$!"
}

onterm() {
  echo "Exiting..."
  pkill -SIGHUP runsvdir-start
  exit $?
}

main "$@"


================================================
FILE: docker/tags/apache/sbin/runsvdir-start
================================================
#!/bin/sh

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

exec runsvdir -P /etc/service


================================================
FILE: docker/tags/lighttpd/etc/lighttpd/example.conf
================================================
server.document-root = "/var/www/localhost/htdocs/"

server.port = 80

server.username = "lighttpd"
server.groupname = "lighttpd"

mimetype.assign = (
  ".html" => "text/html",
  ".txt" => "text/plain",
  ".jpg" => "image/jpeg",
  ".png" => "image/png"
)

static-file.exclude-extensions = ( ".fcgi", ".php", ".rb", "~", ".inc" )
index-file.names = ( "index.html", "index.php" )

server.modules += ( "mod_fastcgi" )
fastcgi.server = ( ".php" =>
    ("localhost" =>
        (
            "socket" => "/run/php/php-fpm.sock"
        )
    )
)


================================================
FILE: docker/tags/lighttpd/etc/service/lighttpd/run
================================================
#!/bin/sh

exec 2>&1
source /env

exec /usr/sbin/lighttpd -D -f /etc/lighttpd/example.conf


================================================
FILE: docker/tags/lighttpd/etc/service/php-fpm/run
================================================
#!/bin/sh

exec 2>&1
source /env

exec php-fpm --nodaemonize


================================================
FILE: docker/tags/lighttpd/sbin/runit-wrapper
================================================
#!/bin/sh

main() {
  # Dump environment
  export > /env

  trap onterm SIGTERM SIGINT

  echo "Starting runit"
  /sbin/runsvdir-start &
  wait "$!"
}

onterm() {
  echo "Exiting..."
  pkill -SIGHUP runsvdir-start
  exit $?
}

main "$@"


================================================
FILE: docker/tags/lighttpd/sbin/runsvdir-start
================================================
#!/bin/sh

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

exec runsvdir -P /etc/service


================================================
FILE: docker/tags/lighttpd/var/www/localhost/htdocs/index.php
================================================
<?php

phpinfo();


================================================
FILE: docker/tags/litespeed/etc/service/lsws/run
================================================
#!/bin/sh

exec 2>&1
source /env

exec sh /var/lib/litespeed/bin/lswsctrl start


================================================
FILE: docker/tags/litespeed/sbin/runit-wrapper
================================================
#!/bin/sh

main() {
  # Dump environment
  export > /env

  trap onterm SIGTERM SIGINT

  echo "Starting runit"
  /sbin/runsvdir-start &
  wait "$!"
}

onterm() {
  echo "Exiting..."
  pkill -SIGHUP runsvdir-start
  exit $?
}

main "$@"


================================================
FILE: docker/tags/litespeed/sbin/runsvdir-start
================================================
#!/bin/sh

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

exec runsvdir -P /etc/service


================================================
FILE: docker/tags/nginx/etc/nginx/conf.d/default.conf
================================================
server {
    listen 80 default_server;

    root /var/www/html;

    index index.html index.htm index.php;

    server_name _;

    charset utf-8;

    location = /favicon.ico { log_not_found off; access_log off; }
    location = /robots.txt  { log_not_found off; access_log off; }

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php-fpm.sock;
        include fastcgi.conf;
    }

    error_page 404 /index.php;

    location ~ /\.ht {
        deny all;
    }
}


================================================
FILE: docker/tags/nginx/etc/service/nginx/run
================================================
#!/bin/sh

exec 2>&1
source /env

mkdir -p /run/nginx
exec /usr/sbin/nginx -g 'daemon off;'


================================================
FILE: docker/tags/nginx/etc/service/php-fpm/run
================================================
#!/bin/sh

exec 2>&1
source /env

exec php-fpm --nodaemonize


================================================
FILE: docker/tags/nginx/sbin/runit-wrapper
================================================
#!/bin/sh

main() {
  # Dump environment
  export > /env

  trap onterm SIGTERM SIGINT

  echo "Starting runit"
  /sbin/runsvdir-start &
  wait "$!"
}

onterm() {
  echo "Exiting..."
  pkill -SIGHUP runsvdir-start
  exit $?
}

main "$@"


================================================
FILE: docker/tags/nginx/sbin/runsvdir-start
================================================
#!/bin/sh

export PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin

exec runsvdir -P /etc/service


================================================
FILE: docker/tags/nginx/var/www/html/index.php
================================================
<?php

phpinfo();


================================================
FILE: tests/7.0-apache/goss.yaml
================================================
file:
  /var/log/apache2/access.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stdout
    filetype: symlink
    contains: []
  /var/log/apache2/error.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stderr
    filetype: symlink
    contains: []
package:
  apache2:
    installed: true
port:
  tcp:80:
    listening: false
    ip: []
process:
  httpd:
    running: true
http:
  http://localhost:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - It works!


================================================
FILE: tests/7.0-apache/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.0-apache -f ../../docker/7.0-apache.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 80:80 phpearth/test:7.0-apache || ((i++))

exit $i


================================================
FILE: tests/7.0-cgi/goss.yaml
================================================
command:
  php-cgi -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - bcmath
    - bz2
    - calendar
    - cgi-fcgi
    - Core
    - ctype
    - curl
    - date
    - dom
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - json
    - libxml
    - mbstring
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xml
    - xmlreader
    - xmlwriter
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.0-cgi/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.0-cgi -f ../../docker/7.0-cgi.Dockerfile ../../docker || exit 1

i=0
time dgoss run -it phpearth/test:7.0-cgi || ((i++))

exit $i


================================================
FILE: tests/7.0-composer/Dockerfile
================================================
FROM phpearth/test:7.0-cli

RUN set -x \
    && apk add --no-cache \
        composer


================================================
FILE: tests/7.0-composer/goss.yaml
================================================
command:
  composer about:
    exit-status: 0
    stdout:
    - 'Composer - Package Management for PHP'
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.0-composer/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.0-composer -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.0-composer || ((i++))

exit $i


================================================
FILE: tests/7.0-extensions/Dockerfile
================================================
FROM phpearth/test:7.0-cli

RUN set -x \
    && apk add --no-cache \
        php7.0-apcu \
        php7.0-cmark \
        php7.0-ds \
        php7.0-imagick \
        php7.0-sodium \
        php7.0-memcached \
        php7.0-meminfo \
        php7.0-mongodb \
        php7.0-redis \
        php7.0-swoole \
        php7.0-xdebug \
        php7.0-yaml


================================================
FILE: tests/7.0-extensions/goss.yaml
================================================
command:
  php -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - apcu
    - bcmath
    - bz2
    - calendar
    - cmark
    - Core
    - ctype
    - curl
    - date
    - dom
    - ds
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - imagick
    - json
    - sodium
    - libxml
    - mbstring
    - memcached
    - meminfo
    - mongodb
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - redis
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - swoole
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xdebug
    - xml
    - xmlreader
    - xmlwriter
    - yaml
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Xdebug
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.0-extensions/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.0-extensions -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.0-extensions || ((i++))

exit $i


================================================
FILE: tests/7.0-litespeed/goss.yaml
================================================
file:
  /var/log/litespeed/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/litespeed/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
process:
  litespeed:
    running: true
http:
  http://localhost:8088:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - You have successfully installed the OpenLiteSpeed Web Server!


================================================
FILE: tests/7.0-litespeed/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.0-litespeed -f ../../docker/7.0-litespeed.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 8088:8088 phpearth/test:7.0-litespeed || ((i++))

exit $i


================================================
FILE: tests/7.0-nginx/goss.yaml
================================================
file:
  /var/log/nginx/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/nginx/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
package:
  nginx:
    installed: true
port:
  tcp:80:
    listening: true
    ip:
    - 0.0.0.0
process:
  nginx:
    running: true
http:
  http://localhost:
    status: 200
    no-follow-redirects: false
    timeout: 5000
    body:
    - PHP Version 7.0


================================================
FILE: tests/7.0-nginx/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.0-nginx -f ../../docker/7.0-nginx.Dockerfile ../../docker || exit 1

i=0
time dgoss run phpearth/test:7.0-nginx || ((i++))

exit $i


================================================
FILE: tests/7.1-apache/goss.yaml
================================================
file:
  /var/log/apache2/access.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stdout
    filetype: symlink
    contains: []
  /var/log/apache2/error.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stderr
    filetype: symlink
    contains: []
package:
  apache2:
    installed: true
port:
  tcp:80:
    listening: false
    ip: []
process:
  httpd:
    running: true
http:
  http://localhost:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - It works!


================================================
FILE: tests/7.1-apache/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.1-apache -f ../../docker/7.1-apache.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 80:80 phpearth/test:7.1-apache || ((i++))

exit $i


================================================
FILE: tests/7.1-cgi/goss.yaml
================================================
command:
  php-cgi -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - bcmath
    - bz2
    - calendar
    - cgi-fcgi
    - Core
    - ctype
    - curl
    - date
    - dom
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - json
    - libxml
    - mbstring
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xml
    - xmlreader
    - xmlwriter
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.1-cgi/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.1-cgi -f ../../docker/7.1-cgi.Dockerfile ../../docker || exit 1

i=0
time dgoss run -it phpearth/test:7.1-cgi || ((i++))

exit $i


================================================
FILE: tests/7.1-composer/Dockerfile
================================================
FROM phpearth/test:7.1-cli

RUN set -x \
    && apk add --no-cache \
        composer


================================================
FILE: tests/7.1-composer/goss.yaml
================================================
command:
  composer about:
    exit-status: 0
    stdout:
    - 'Composer - Package Management for PHP'
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.1-composer/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.1-composer -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.1-composer || ((i++))

exit $i


================================================
FILE: tests/7.1-extensions/Dockerfile
================================================
FROM phpearth/test:7.1-cli

RUN apk add --no-cache \
    php7.1-apcu \
    php7.1-cmark \
    php7.1-ds \
    php7.1-imagick \
    php7.1-sodium \
    php7.1-memcached \
    php7.1-meminfo \
    php7.1-mongodb \
    php7.1-redis \
    php7.1-swoole \
    php7.1-xdebug \
    php7.1-yaml


================================================
FILE: tests/7.1-extensions/goss.yaml
================================================
command:
  php -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - apcu
    - bcmath
    - bz2
    - calendar
    - cmark
    - Core
    - ctype
    - curl
    - date
    - dom
    - ds
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - imagick
    - json
    - sodium
    - libxml
    - mbstring
    - memcached
    - meminfo
    - mongodb
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - redis
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - swoole
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xdebug
    - xml
    - xmlreader
    - xmlwriter
    - yaml
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Xdebug
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.1-extensions/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.1-extensions -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.1-extensions || ((i++))

exit $i


================================================
FILE: tests/7.1-iconv/Dockerfile
================================================
FROM phpearth/test:7.1-cli

RUN mkdir -p /usr/src/app

ADD iconv.php /usr/src/app/iconv.php

WORKDIR /usr/src/app


================================================
FILE: tests/7.1-iconv/goss.yaml
================================================
command:
  php iconv.php:
    exit-status: 0
    stdout: ['!/./']
    stderr: ['!/./']
    timeout: 10000


================================================
FILE: tests/7.1-iconv/iconv.php
================================================
<?php

ini_set('display_errors', '1');
error_reporting(-1);

iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', 'šěýčíéáýřčíšýíščř');


================================================
FILE: tests/7.1-iconv/test
================================================
#!/bin/bash

docker build --no-cache -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build --no-cache -t phpearth/test:7.1-iconv -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.1-iconv || ((i++))

exit $i


================================================
FILE: tests/7.1-litespeed/goss.yaml
================================================
file:
  /var/log/litespeed/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/litespeed/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
process:
  litespeed:
    running: true
http:
  http://localhost:8088:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - You have successfully installed the OpenLiteSpeed Web Server!


================================================
FILE: tests/7.1-litespeed/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.1-litespeed -f ../../docker/7.1-litespeed.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 8088:8088 phpearth/test:7.1-litespeed || ((i++))

exit $i


================================================
FILE: tests/7.1-nginx/goss.yaml
================================================
file:
  /var/log/nginx/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/nginx/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
package:
  nginx:
    installed: true
port:
  tcp:80:
    listening: true
    ip:
    - 0.0.0.0
process:
  nginx:
    running: true
http:
  http://localhost:
    status: 200
    no-follow-redirects: false
    timeout: 5000
    body:
    - PHP Version 7.1


================================================
FILE: tests/7.1-nginx/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.1-nginx -f ../../docker/7.1-nginx.Dockerfile ../../docker || exit 1

i=0
time dgoss run phpearth/test:7.1-nginx || ((i++))

exit $i


================================================
FILE: tests/7.1-phpunit/Dockerfile
================================================
FROM phpearth/test:7.1-cli

RUN set -x \
    && apk add --no-cache \
        phpunit


================================================
FILE: tests/7.1-phpunit/goss.yaml
================================================
command:
  phpunit --version:
    exit-status: 0
    stdout:
    - 'by Sebastian Bergmann and contributors.'
    stderr: []
    timeout: 10000
  phpunit --atleast-version 8:
    exit-status: 1
    stdout:
    - ''
    stderr: []
    timeout: 10000
  phpunit --atleast-version 6.3:
    exit-status: 0
    stdout:
    - ''
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.1-phpunit/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.1-phpunit -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.1-phpunit || ((i++))

exit $i


================================================
FILE: tests/7.2-apache/goss.yaml
================================================
file:
  /var/log/apache2/access.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stdout
    filetype: symlink
    contains: []
  /var/log/apache2/error.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stderr
    filetype: symlink
    contains: []
package:
  apache2:
    installed: true
port:
  tcp:80:
    listening: false
    ip: []
process:
  httpd:
    running: true
http:
  http://localhost:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - It works!


================================================
FILE: tests/7.2-apache/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.2-apache -f ../../docker/7.2-apache.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 80:80 phpearth/test:7.2-apache || ((i++))

exit $i


================================================
FILE: tests/7.2-argon/Dockerfile
================================================
FROM phpearth/test:7.2-cli

RUN mkdir -p /usr/src/app

ADD argon.php /usr/src/app/argon.php

WORKDIR /usr/src/app


================================================
FILE: tests/7.2-argon/argon.php
================================================
<?php

// plain text password
$password = 'secretcode';

// password hashed with PASSWORD_ARGON2I
echo password_hash($password, PASSWORD_ARGON2I);


================================================
FILE: tests/7.2-argon/goss.yaml
================================================
command:
  php argon.php:
    exit-status: 0
    stderr: ['!/./']
    timeout: 10000


================================================
FILE: tests/7.2-argon/test
================================================
#!/bin/bash

docker build --no-cache -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build --no-cache -t phpearth/test:7.2-argon -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.2-argon || ((i++))

exit $i


================================================
FILE: tests/7.2-cgi/goss.yaml
================================================
command:
  php-cgi -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - bcmath
    - bz2
    - calendar
    - cgi-fcgi
    - Core
    - ctype
    - curl
    - date
    - dom
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - json
    - libxml
    - mbstring
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xml
    - xmlreader
    - xmlwriter
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.2-cgi/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.2-cgi -f ../../docker/7.2-cgi.Dockerfile ../../docker || exit 1

i=0
time dgoss run -it phpearth/test:7.2-cgi || ((i++))

exit $i


================================================
FILE: tests/7.2-composer/Dockerfile
================================================
FROM phpearth/test:7.2-cli

RUN set -x \
    && apk add --no-cache \
        composer


================================================
FILE: tests/7.2-composer/goss.yaml
================================================
command:
  composer about:
    exit-status: 0
    stdout:
    - 'Composer - Package Management for PHP'
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.2-composer/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.2-composer -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.2-composer || ((i++))

exit $i


================================================
FILE: tests/7.2-extensions/Dockerfile
================================================
FROM phpearth/test:7.2-cli

RUN apk add --no-cache \
    php7.2-apcu \
    php7.2-cmark \
    php7.2-ds \
    php7.2-imagick \
    php7.2-sodium \
    php7.2-memcached \
    php7.2-meminfo \
    php7.2-mongodb \
    php7.2-redis \
    php7.2-swoole \
    php7.2-xdebug \
    php7.2-yaml


================================================
FILE: tests/7.2-extensions/goss.yaml
================================================
command:
  php -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - apcu
    - bcmath
    - bz2
    - calendar
    - cmark
    - Core
    - ctype
    - curl
    - date
    - dom
    - ds
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - imagick
    - json
    - sodium
    - libxml
    - mbstring
    - memcached
    - meminfo
    - mongodb
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - redis
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - swoole
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xdebug
    - xml
    - xmlreader
    - xmlwriter
    - yaml
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Xdebug
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.2-extensions/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.2-extensions -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.2-extensions || ((i++))

exit $i


================================================
FILE: tests/7.2-litespeed/goss.yaml
================================================
file:
  /var/log/litespeed/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/litespeed/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
process:
  litespeed:
    running: true
http:
  http://localhost:8088:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - You have successfully installed the OpenLiteSpeed Web Server!


================================================
FILE: tests/7.2-litespeed/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.2-litespeed -f ../../docker/7.2-litespeed.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 8088:8088 phpearth/test:7.2-litespeed || ((i++))

exit $i


================================================
FILE: tests/7.2-nginx/goss.yaml
================================================
file:
  /var/log/nginx/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/nginx/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
package:
  nginx:
    installed: true
port:
  tcp:80:
    listening: true
    ip:
    - 0.0.0.0
process:
  nginx:
    running: true
http:
  http://localhost:
    status: 200
    no-follow-redirects: false
    timeout: 5000
    body:
    - PHP Version 7.2


================================================
FILE: tests/7.2-nginx/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.2-nginx -f ../../docker/7.2-nginx.Dockerfile ../../docker || exit 1

i=0
time dgoss run phpearth/test:7.2-nginx || ((i++))

exit $i


================================================
FILE: tests/7.2-phpunit/Dockerfile
================================================
FROM phpearth/test:7.2-cli

RUN set -x \
    && apk add --no-cache \
        phpunit


================================================
FILE: tests/7.2-phpunit/goss.yaml
================================================
command:
  phpunit --version:
    exit-status: 0
    stdout:
    - 'by Sebastian Bergmann and contributors.'
    stderr: []
    timeout: 10000
  phpunit --atleast-version 8:
    exit-status: 1
    stdout:
    - ''
    stderr: []
    timeout: 10000
  phpunit --atleast-version 6.3:
    exit-status: 0
    stdout:
    - ''
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.2-phpunit/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.2-phpunit -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.2-phpunit || ((i++))

exit $i


================================================
FILE: tests/7.3-apache/goss.yaml
================================================
file:
  /var/log/apache2/access.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stdout
    filetype: symlink
    contains: []
  /var/log/apache2/error.log:
    exists: true
    mode: "0777"
    size: 11
    owner: root
    group: wheel
    linked-to: /dev/stderr
    filetype: symlink
    contains: []
package:
  apache2:
    installed: true
port:
  tcp:80:
    listening: false
    ip: []
process:
  httpd:
    running: true
http:
  http://localhost:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - It works!


================================================
FILE: tests/7.3-apache/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.3-apache -f ../../docker/7.3-apache.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 80:80 phpearth/test:7.3-apache || ((i++))

exit $i


================================================
FILE: tests/7.3-argon/Dockerfile
================================================
FROM phpearth/test:7.3-cli

RUN mkdir -p /usr/src/app

ADD argon.php /usr/src/app/argon.php

WORKDIR /usr/src/app


================================================
FILE: tests/7.3-argon/argon.php
================================================
<?php

// plain text password
$password = 'secretcode';

// password hashed with PASSWORD_ARGON2I
echo password_hash($password, PASSWORD_ARGON2I);


================================================
FILE: tests/7.3-argon/goss.yaml
================================================
command:
  php argon.php:
    exit-status: 0
    stderr: ['!/./']
    timeout: 10000


================================================
FILE: tests/7.3-argon/test
================================================
#!/bin/bash

docker build --no-cache -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build --no-cache -t phpearth/test:7.3-argon -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.3-argon || ((i++))

exit $i


================================================
FILE: tests/7.3-cgi/goss.yaml
================================================
command:
  php-cgi -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - bcmath
    - bz2
    - calendar
    - cgi-fcgi
    - Core
    - ctype
    - curl
    - date
    - dom
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - json
    - libxml
    - mbstring
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xml
    - xmlreader
    - xmlwriter
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.3-cgi/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.3-cgi -f ../../docker/7.3-cgi.Dockerfile ../../docker || exit 1

i=0
time dgoss run -it phpearth/test:7.3-cgi || ((i++))

exit $i


================================================
FILE: tests/7.3-composer/Dockerfile
================================================
FROM phpearth/test:7.3-cli

RUN set -x \
    && apk add --no-cache \
        composer


================================================
FILE: tests/7.3-composer/goss.yaml
================================================
command:
  composer about:
    exit-status: 0
    stdout:
    - 'Composer - Package Management for PHP'
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.3-composer/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.3-composer -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.3-composer || ((i++))

exit $i


================================================
FILE: tests/7.3-extensions/Dockerfile
================================================
FROM phpearth/test:7.3-cli

RUN apk add --no-cache \
    php7.3-apcu \
    php7.3-cmark \
    php7.3-ds \
    php7.3-imagick \
    php7.3-sodium \
    php7.3-memcached \
    php7.3-meminfo \
    php7.3-mongodb \
    php7.3-redis \
    php7.3-swoole \
    php7.3-xdebug \
    php7.3-yaml


================================================
FILE: tests/7.3-extensions/goss.yaml
================================================
command:
  php -m:
    exit-status: 0
    stdout:
    - '[PHP Modules]'
    - apcu
    - bcmath
    - bz2
    - calendar
    - cmark
    - Core
    - ctype
    - curl
    - date
    - dom
    - ds
    - exif
    - fileinfo
    - filter
    - ftp
    - hash
    - iconv
    - imagick
    - json
    - sodium
    - libxml
    - mbstring
    - memcached
    - meminfo
    - mongodb
    - openssl
    - pcre
    - Phar
    - posix
    - readline
    - redis
    - Reflection
    - session
    - shmop
    - SimpleXML
    - sockets
    - SPL
    - standard
    - swoole
    - sysvmsg
    - sysvsem
    - sysvshm
    - tokenizer
    - xdebug
    - xml
    - xmlreader
    - xmlwriter
    - yaml
    - Zend OPcache
    - zip
    - zlib
    - '[Zend Modules]'
    - Xdebug
    - Zend OPcache
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.3-extensions/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.3-extensions -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.3-extensions || ((i++))

exit $i


================================================
FILE: tests/7.3-litespeed/goss.yaml
================================================
file:
  /var/log/litespeed/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/litespeed/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
process:
  litespeed:
    running: true
http:
  http://localhost:8088:
    status: 200
    allow-insecure: false
    no-follow-redirects: false
    timeout: 5000
    body:
    - You have successfully installed the OpenLiteSpeed Web Server!


================================================
FILE: tests/7.3-litespeed/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.3-litespeed -f ../../docker/7.3-litespeed.Dockerfile ../../docker || exit 1

i=0
time dgoss run -p 8088:8088 phpearth/test:7.3-litespeed || ((i++))

exit $i


================================================
FILE: tests/7.3-nginx/goss.yaml
================================================
file:
  /var/log/nginx/access.log:
    exists: true
    linked-to: /dev/stdout
    filetype: symlink
  /var/log/nginx/error.log:
    exists: true
    linked-to: /dev/stderr
    filetype: symlink
package:
  nginx:
    installed: true
port:
  tcp:80:
    listening: true
    ip:
    - 0.0.0.0
process:
  nginx:
    running: true
http:
  http://localhost:
    status: 200
    no-follow-redirects: false
    timeout: 5000
    body:
    - PHP Version 7.3


================================================
FILE: tests/7.3-nginx/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.3-nginx -f ../../docker/7.3-nginx.Dockerfile ../../docker || exit 1

i=0
time dgoss run phpearth/test:7.3-nginx || ((i++))

exit $i


================================================
FILE: tests/7.3-phpunit/Dockerfile
================================================
FROM phpearth/test:7.3-cli

RUN set -x \
    && apk add --no-cache \
        phpunit


================================================
FILE: tests/7.3-phpunit/goss.yaml
================================================
command:
  phpunit --version:
    exit-status: 0
    stdout:
    - 'by Sebastian Bergmann and contributors.'
    stderr: []
    timeout: 10000
  phpunit --atleast-version 8:
    exit-status: 1
    stdout:
    - ''
    stderr: []
    timeout: 10000
  phpunit --atleast-version 6.3:
    exit-status: 0
    stdout:
    - ''
    stderr: []
    timeout: 10000


================================================
FILE: tests/7.3-phpunit/test
================================================
#!/bin/bash

docker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1
docker build -t phpearth/test:7.3-phpunit -f Dockerfile .

i=0
time dgoss run -it phpearth/test:7.3-phpunit || ((i++))

exit $i


================================================
FILE: tests/test
================================================
#!/bin/bash

tests="${1:-all}"
i=0

run() {
  echo -e "\n\n======================="
  echo "testing $1"
  echo "======================="
  pushd $1 > /dev/null
  ./test || ((i++))
  popd > /dev/null
}

if [ "$tests" = "all" ]; then
  for x in */;do
    run $x
  done
else
  for test in $tests; do
    run $test
  done
fi

exit $i
Download .txt
gitextract_z_dotten/

├── .editorconfig
├── .github/
│   ├── CODE_OF_CONDUCT.md
│   └── CONTRIBUTING.md
├── .travis.yml
├── CHANGELOG.md
├── LICENSE
├── Makefile
├── README.md
├── docker/
│   ├── 7.0-apache.Dockerfile
│   ├── 7.0-cgi.Dockerfile
│   ├── 7.0-cli.Dockerfile
│   ├── 7.0-lighttpd.Dockerfile
│   ├── 7.0-litespeed.Dockerfile
│   ├── 7.0-nginx.Dockerfile
│   ├── 7.0.Dockerfile
│   ├── 7.1-apache.Dockerfile
│   ├── 7.1-cgi.Dockerfile
│   ├── 7.1-cli.Dockerfile
│   ├── 7.1-lighttpd.Dockerfile
│   ├── 7.1-litespeed.Dockerfile
│   ├── 7.1-nginx.Dockerfile
│   ├── 7.1.Dockerfile
│   ├── 7.2-apache.Dockerfile
│   ├── 7.2-cgi.Dockerfile
│   ├── 7.2-cli.Dockerfile
│   ├── 7.2-lighttpd.Dockerfile
│   ├── 7.2-litespeed.Dockerfile
│   ├── 7.2-nginx.Dockerfile
│   ├── 7.2.Dockerfile
│   ├── 7.3-apache.Dockerfile
│   ├── 7.3-cgi.Dockerfile
│   ├── 7.3-cli.Dockerfile
│   ├── 7.3-lighttpd.Dockerfile
│   ├── 7.3-litespeed.Dockerfile
│   ├── 7.3-nginx.Dockerfile
│   ├── 7.3.Dockerfile
│   ├── 7.4-apache.Dockerfile
│   ├── 7.4-cgi.Dockerfile
│   ├── 7.4-cli.Dockerfile
│   ├── 7.4-lighttpd.Dockerfile
│   ├── 7.4-litespeed.Dockerfile
│   ├── 7.4-nginx.Dockerfile
│   ├── 7.4.Dockerfile
│   ├── hooks/
│   │   ├── build
│   │   └── post_push
│   └── tags/
│       ├── apache/
│       │   ├── etc/
│       │   │   └── service/
│       │   │       └── apache/
│       │   │           └── run
│       │   └── sbin/
│       │       ├── runit-wrapper
│       │       └── runsvdir-start
│       ├── lighttpd/
│       │   ├── etc/
│       │   │   ├── lighttpd/
│       │   │   │   └── example.conf
│       │   │   └── service/
│       │   │       ├── lighttpd/
│       │   │       │   └── run
│       │   │       └── php-fpm/
│       │   │           └── run
│       │   ├── sbin/
│       │   │   ├── runit-wrapper
│       │   │   └── runsvdir-start
│       │   └── var/
│       │       └── www/
│       │           └── localhost/
│       │               └── htdocs/
│       │                   └── index.php
│       ├── litespeed/
│       │   ├── etc/
│       │   │   └── service/
│       │   │       └── lsws/
│       │   │           └── run
│       │   └── sbin/
│       │       ├── runit-wrapper
│       │       └── runsvdir-start
│       └── nginx/
│           ├── etc/
│           │   ├── nginx/
│           │   │   └── conf.d/
│           │   │       └── default.conf
│           │   └── service/
│           │       ├── nginx/
│           │       │   └── run
│           │       └── php-fpm/
│           │           └── run
│           ├── sbin/
│           │   ├── runit-wrapper
│           │   └── runsvdir-start
│           └── var/
│               └── www/
│                   └── html/
│                       └── index.php
└── tests/
    ├── 7.0-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.0-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-iconv/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   ├── iconv.php
    │   └── test
    ├── 7.1-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.1-phpunit/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-argon/
    │   ├── Dockerfile
    │   ├── argon.php
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.2-phpunit/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-apache/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-argon/
    │   ├── Dockerfile
    │   ├── argon.php
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-cgi/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-composer/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-extensions/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-litespeed/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-nginx/
    │   ├── goss.yaml
    │   └── test
    ├── 7.3-phpunit/
    │   ├── Dockerfile
    │   ├── goss.yaml
    │   └── test
    └── test
Condensed preview — 141 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (135K chars).
[
  {
    "path": ".editorconfig",
    "chars": 592,
    "preview": "# http://editorconfig.org\n\nroot = true\n\n[*]\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_whitespace = true\ninsert_fina"
  },
  {
    "path": ".github/CODE_OF_CONDUCT.md",
    "chars": 232,
    "preview": "# Code of conduct\n\nThis project is part of the [PHP.earth](https://php.earth) group which follows a\n[code of conduct](ht"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "chars": 2068,
    "preview": "# Contributing guide\n\nContributions are most welcome. Below is described procedure for contributing to\nthis repository.\n"
  },
  {
    "path": ".travis.yml",
    "chars": 152,
    "preview": "sudo: required\n\nservices:\n  - docker\n\nbefore_install:\n  # install goss\n  - curl -L https://goss.rocks/install | sudo sh\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 4148,
    "preview": "# Changelog\n\nAll notable changes to this project will be documented in this file. This project\n[keeps a CHANGELOG](http:"
  },
  {
    "path": "LICENSE",
    "chars": 1061,
    "preview": "Copyright (c) 2016-present PHP.earth\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof th"
  },
  {
    "path": "Makefile",
    "chars": 3807,
    "preview": ".RECIPEPREFIX := $(.RECIPEPREFIX) \n.DEFAULT_GOAL := help\n.PHONY: *\n\nhelp:\n  @echo \"\\033[33mUsage:\\033[0m\\n  make [target"
  },
  {
    "path": "README.md",
    "chars": 16397,
    "preview": "# Docker for PHP developers\n\n[![Build Status](https://img.shields.io/travis/phpearth/docker-php/master.svg?style=plastic"
  },
  {
    "path": "docker/7.0-apache.Dockerfile",
    "chars": 2066,
    "preview": "FROM alpine:3.7\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.0-cgi.Dockerfile",
    "chars": 1857,
    "preview": "FROM alpine:3.7\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.0-cli.Dockerfile",
    "chars": 1847,
    "preview": "FROM alpine:3.7\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.0-lighttpd.Dockerfile",
    "chars": 1925,
    "preview": "FROM alpine:3.7\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.0-litespeed.Dockerfile",
    "chars": 2070,
    "preview": "FROM alpine:3.7\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.0-nginx.Dockerfile",
    "chars": 2061,
    "preview": "FROM alpine:3.7\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.0.Dockerfile",
    "chars": 1128,
    "preview": "FROM alpine:3.7\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.1-apache.Dockerfile",
    "chars": 2066,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.1-cgi.Dockerfile",
    "chars": 1857,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.1-cli.Dockerfile",
    "chars": 1847,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.1-lighttpd.Dockerfile",
    "chars": 1925,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.1-litespeed.Dockerfile",
    "chars": 2070,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.1-nginx.Dockerfile",
    "chars": 2061,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.1.Dockerfile",
    "chars": 1128,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.2-apache.Dockerfile",
    "chars": 2066,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.2-cgi.Dockerfile",
    "chars": 1857,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.2-cli.Dockerfile",
    "chars": 1847,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.2-lighttpd.Dockerfile",
    "chars": 1925,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.2-litespeed.Dockerfile",
    "chars": 2070,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.2-nginx.Dockerfile",
    "chars": 2061,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.2.Dockerfile",
    "chars": 1190,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.3-apache.Dockerfile",
    "chars": 2066,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.3-cgi.Dockerfile",
    "chars": 1857,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.3-cli.Dockerfile",
    "chars": 1847,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.3-lighttpd.Dockerfile",
    "chars": 1925,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.3-litespeed.Dockerfile",
    "chars": 2070,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.3-nginx.Dockerfile",
    "chars": 2061,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.3.Dockerfile",
    "chars": 1190,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.4-apache.Dockerfile",
    "chars": 2066,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.4-cgi.Dockerfile",
    "chars": 1857,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.4-cli.Dockerfile",
    "chars": 1847,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.4-lighttpd.Dockerfile",
    "chars": 1925,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.4-litespeed.Dockerfile",
    "chars": 2070,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.4-nginx.Dockerfile",
    "chars": 2061,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/7.4.Dockerfile",
    "chars": 1190,
    "preview": "FROM alpine:3.9\n\nARG BUILD_DATE\nARG VCS_REF\n\nLABEL org.label-schema.build-date=$BUILD_DATE \\\n      org.label-schema.vcs-"
  },
  {
    "path": "docker/hooks/build",
    "chars": 263,
    "preview": "#!/bin/bash\n\nTAG=$(echo $IMAGE_NAME| cut -d':' -f 2)\n\necho \"Build hook running\"\ndocker build --build-arg BUILD_DATE=`dat"
  },
  {
    "path": "docker/hooks/post_push",
    "chars": 165,
    "preview": "#!/bin/bash\n\nTAG=$(echo $IMAGE_NAME| cut -d':' -f 2)\n\nif [ \"$TAG\" == \"7.3\" ]; then\n  docker tag $IMAGE_NAME $DOCKER_REPO"
  },
  {
    "path": "docker/tags/apache/etc/service/apache/run",
    "chars": 69,
    "preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec /usr/sbin/httpd -D FOREGROUND\n"
  },
  {
    "path": "docker/tags/apache/sbin/runit-wrapper",
    "chars": 237,
    "preview": "#!/bin/sh\n\nmain() {\n  # Dump environment\n  export > /env\n\n  trap onterm SIGTERM SIGINT\n\n  echo \"Starting runit\"\n  /sbin/"
  },
  {
    "path": "docker/tags/apache/sbin/runsvdir-start",
    "chars": 115,
    "preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
  },
  {
    "path": "docker/tags/lighttpd/etc/lighttpd/example.conf",
    "chars": 540,
    "preview": "server.document-root = \"/var/www/localhost/htdocs/\"\n\nserver.port = 80\n\nserver.username = \"lighttpd\"\nserver.groupname = \""
  },
  {
    "path": "docker/tags/lighttpd/etc/service/lighttpd/run",
    "chars": 91,
    "preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec /usr/sbin/lighttpd -D -f /etc/lighttpd/example.conf\n"
  },
  {
    "path": "docker/tags/lighttpd/etc/service/php-fpm/run",
    "chars": 61,
    "preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec php-fpm --nodaemonize\n"
  },
  {
    "path": "docker/tags/lighttpd/sbin/runit-wrapper",
    "chars": 237,
    "preview": "#!/bin/sh\n\nmain() {\n  # Dump environment\n  export > /env\n\n  trap onterm SIGTERM SIGINT\n\n  echo \"Starting runit\"\n  /sbin/"
  },
  {
    "path": "docker/tags/lighttpd/sbin/runsvdir-start",
    "chars": 115,
    "preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
  },
  {
    "path": "docker/tags/lighttpd/var/www/localhost/htdocs/index.php",
    "chars": 18,
    "preview": "<?php\n\nphpinfo();\n"
  },
  {
    "path": "docker/tags/litespeed/etc/service/lsws/run",
    "chars": 80,
    "preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec sh /var/lib/litespeed/bin/lswsctrl start\n"
  },
  {
    "path": "docker/tags/litespeed/sbin/runit-wrapper",
    "chars": 237,
    "preview": "#!/bin/sh\n\nmain() {\n  # Dump environment\n  export > /env\n\n  trap onterm SIGTERM SIGINT\n\n  echo \"Starting runit\"\n  /sbin/"
  },
  {
    "path": "docker/tags/litespeed/sbin/runsvdir-start",
    "chars": 115,
    "preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
  },
  {
    "path": "docker/tags/nginx/etc/nginx/conf.d/default.conf",
    "chars": 552,
    "preview": "server {\n    listen 80 default_server;\n\n    root /var/www/html;\n\n    index index.html index.htm index.php;\n\n    server_n"
  },
  {
    "path": "docker/tags/nginx/etc/service/nginx/run",
    "chars": 92,
    "preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nmkdir -p /run/nginx\nexec /usr/sbin/nginx -g 'daemon off;'\n"
  },
  {
    "path": "docker/tags/nginx/etc/service/php-fpm/run",
    "chars": 61,
    "preview": "#!/bin/sh\n\nexec 2>&1\nsource /env\n\nexec php-fpm --nodaemonize\n"
  },
  {
    "path": "docker/tags/nginx/sbin/runit-wrapper",
    "chars": 237,
    "preview": "#!/bin/sh\n\nmain() {\n  # Dump environment\n  export > /env\n\n  trap onterm SIGTERM SIGINT\n\n  echo \"Starting runit\"\n  /sbin/"
  },
  {
    "path": "docker/tags/nginx/sbin/runsvdir-start",
    "chars": 115,
    "preview": "#!/bin/sh\n\nexport PATH=/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin\n\nexec runsvdir -P /etc/service\n"
  },
  {
    "path": "docker/tags/nginx/var/www/html/index.php",
    "chars": 18,
    "preview": "<?php\n\nphpinfo();\n"
  },
  {
    "path": "tests/7.0-apache/goss.yaml",
    "chars": 626,
    "preview": "file:\n  /var/log/apache2/access.log:\n    exists: true\n    mode: \"0777\"\n    size: 11\n    owner: root\n    group: wheel\n   "
  },
  {
    "path": "tests/7.0-apache/test",
    "chars": 189,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-apache -f ../../docker/7.0-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
  },
  {
    "path": "tests/7.0-cgi/goss.yaml",
    "chars": 672,
    "preview": "command:\n  php-cgi -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - bcmath\n    - bz2\n    - calendar\n    - "
  },
  {
    "path": "tests/7.0-cgi/test",
    "chars": 175,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-cgi -f ../../docker/7.0-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
  },
  {
    "path": "tests/7.0-composer/Dockerfile",
    "chars": 86,
    "preview": "FROM phpearth/test:7.0-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        composer\n"
  },
  {
    "path": "tests/7.0-composer/goss.yaml",
    "chars": 138,
    "preview": "command:\n  composer about:\n    exit-status: 0\n    stdout:\n    - 'Composer - Package Management for PHP'\n    stderr: []\n "
  },
  {
    "path": "tests/7.0-composer/test",
    "chars": 239,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.0-extensions/Dockerfile",
    "chars": 351,
    "preview": "FROM phpearth/test:7.0-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        php7.0-apcu \\\n        php7.0-cmark \\\n      "
  },
  {
    "path": "tests/7.0-extensions/goss.yaml",
    "chars": 818,
    "preview": "command:\n  php -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - apcu\n    - bcmath\n    - bz2\n    - calendar"
  },
  {
    "path": "tests/7.0-extensions/test",
    "chars": 243,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-cli -f ../../docker/7.0-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.0-litespeed/goss.yaml",
    "chars": 443,
    "preview": "file:\n  /var/log/litespeed/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/lite"
  },
  {
    "path": "tests/7.0-litespeed/test",
    "chars": 202,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-litespeed -f ../../docker/7.0-litespeed.Dockerfile ../../docker || exit 1"
  },
  {
    "path": "tests/7.0-nginx/goss.yaml",
    "chars": 450,
    "preview": "file:\n  /var/log/nginx/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/nginx/er"
  },
  {
    "path": "tests/7.0-nginx/test",
    "chars": 177,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.0-nginx -f ../../docker/7.0-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
  },
  {
    "path": "tests/7.1-apache/goss.yaml",
    "chars": 626,
    "preview": "file:\n  /var/log/apache2/access.log:\n    exists: true\n    mode: \"0777\"\n    size: 11\n    owner: root\n    group: wheel\n   "
  },
  {
    "path": "tests/7.1-apache/test",
    "chars": 189,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-apache -f ../../docker/7.1-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
  },
  {
    "path": "tests/7.1-cgi/goss.yaml",
    "chars": 672,
    "preview": "command:\n  php-cgi -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - bcmath\n    - bz2\n    - calendar\n    - "
  },
  {
    "path": "tests/7.1-cgi/test",
    "chars": 175,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cgi -f ../../docker/7.1-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
  },
  {
    "path": "tests/7.1-composer/Dockerfile",
    "chars": 86,
    "preview": "FROM phpearth/test:7.1-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        composer\n"
  },
  {
    "path": "tests/7.1-composer/goss.yaml",
    "chars": 138,
    "preview": "command:\n  composer about:\n    exit-status: 0\n    stdout:\n    - 'Composer - Package Management for PHP'\n    stderr: []\n "
  },
  {
    "path": "tests/7.1-composer/test",
    "chars": 239,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.1-extensions/Dockerfile",
    "chars": 287,
    "preview": "FROM phpearth/test:7.1-cli\n\nRUN apk add --no-cache \\\n    php7.1-apcu \\\n    php7.1-cmark \\\n    php7.1-ds \\\n    php7.1-ima"
  },
  {
    "path": "tests/7.1-extensions/goss.yaml",
    "chars": 818,
    "preview": "command:\n  php -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - apcu\n    - bcmath\n    - bz2\n    - calendar"
  },
  {
    "path": "tests/7.1-extensions/test",
    "chars": 243,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.1-iconv/Dockerfile",
    "chars": 114,
    "preview": "FROM phpearth/test:7.1-cli\n\nRUN mkdir -p /usr/src/app\n\nADD iconv.php /usr/src/app/iconv.php\n\nWORKDIR /usr/src/app\n"
  },
  {
    "path": "tests/7.1-iconv/goss.yaml",
    "chars": 106,
    "preview": "command:\n  php iconv.php:\n    exit-status: 0\n    stdout: ['!/./']\n    stderr: ['!/./']\n    timeout: 10000\n"
  },
  {
    "path": "tests/7.1-iconv/iconv.php",
    "chars": 125,
    "preview": "<?php\n\nini_set('display_errors', '1');\nerror_reporting(-1);\n\niconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', 'šěýčíéáýřčíšýíšč"
  },
  {
    "path": "tests/7.1-iconv/test",
    "chars": 255,
    "preview": "#!/bin/bash\n\ndocker build --no-cache -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\n"
  },
  {
    "path": "tests/7.1-litespeed/goss.yaml",
    "chars": 443,
    "preview": "file:\n  /var/log/litespeed/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/lite"
  },
  {
    "path": "tests/7.1-litespeed/test",
    "chars": 202,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-litespeed -f ../../docker/7.1-litespeed.Dockerfile ../../docker || exit 1"
  },
  {
    "path": "tests/7.1-nginx/goss.yaml",
    "chars": 450,
    "preview": "file:\n  /var/log/nginx/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/nginx/er"
  },
  {
    "path": "tests/7.1-nginx/test",
    "chars": 177,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-nginx -f ../../docker/7.1-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
  },
  {
    "path": "tests/7.1-phpunit/Dockerfile",
    "chars": 85,
    "preview": "FROM phpearth/test:7.1-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        phpunit\n"
  },
  {
    "path": "tests/7.1-phpunit/goss.yaml",
    "chars": 355,
    "preview": "command:\n  phpunit --version:\n    exit-status: 0\n    stdout:\n    - 'by Sebastian Bergmann and contributors.'\n    stderr:"
  },
  {
    "path": "tests/7.1-phpunit/test",
    "chars": 237,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.1-cli -f ../../docker/7.1-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.2-apache/goss.yaml",
    "chars": 626,
    "preview": "file:\n  /var/log/apache2/access.log:\n    exists: true\n    mode: \"0777\"\n    size: 11\n    owner: root\n    group: wheel\n   "
  },
  {
    "path": "tests/7.2-apache/test",
    "chars": 189,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-apache -f ../../docker/7.2-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
  },
  {
    "path": "tests/7.2-argon/Dockerfile",
    "chars": 114,
    "preview": "FROM phpearth/test:7.2-cli\n\nRUN mkdir -p /usr/src/app\n\nADD argon.php /usr/src/app/argon.php\n\nWORKDIR /usr/src/app\n"
  },
  {
    "path": "tests/7.2-argon/argon.php",
    "chars": 147,
    "preview": "<?php\n\n// plain text password\n$password = 'secretcode';\n\n// password hashed with PASSWORD_ARGON2I\necho password_hash($pa"
  },
  {
    "path": "tests/7.2-argon/goss.yaml",
    "chars": 85,
    "preview": "command:\n  php argon.php:\n    exit-status: 0\n    stderr: ['!/./']\n    timeout: 10000\n"
  },
  {
    "path": "tests/7.2-argon/test",
    "chars": 255,
    "preview": "#!/bin/bash\n\ndocker build --no-cache -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\n"
  },
  {
    "path": "tests/7.2-cgi/goss.yaml",
    "chars": 672,
    "preview": "command:\n  php-cgi -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - bcmath\n    - bz2\n    - calendar\n    - "
  },
  {
    "path": "tests/7.2-cgi/test",
    "chars": 175,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cgi -f ../../docker/7.2-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
  },
  {
    "path": "tests/7.2-composer/Dockerfile",
    "chars": 86,
    "preview": "FROM phpearth/test:7.2-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        composer\n"
  },
  {
    "path": "tests/7.2-composer/goss.yaml",
    "chars": 138,
    "preview": "command:\n  composer about:\n    exit-status: 0\n    stdout:\n    - 'Composer - Package Management for PHP'\n    stderr: []\n "
  },
  {
    "path": "tests/7.2-composer/test",
    "chars": 239,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.2-extensions/Dockerfile",
    "chars": 287,
    "preview": "FROM phpearth/test:7.2-cli\n\nRUN apk add --no-cache \\\n    php7.2-apcu \\\n    php7.2-cmark \\\n    php7.2-ds \\\n    php7.2-ima"
  },
  {
    "path": "tests/7.2-extensions/goss.yaml",
    "chars": 818,
    "preview": "command:\n  php -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - apcu\n    - bcmath\n    - bz2\n    - calendar"
  },
  {
    "path": "tests/7.2-extensions/test",
    "chars": 243,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.2-litespeed/goss.yaml",
    "chars": 443,
    "preview": "file:\n  /var/log/litespeed/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/lite"
  },
  {
    "path": "tests/7.2-litespeed/test",
    "chars": 202,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-litespeed -f ../../docker/7.2-litespeed.Dockerfile ../../docker || exit 1"
  },
  {
    "path": "tests/7.2-nginx/goss.yaml",
    "chars": 450,
    "preview": "file:\n  /var/log/nginx/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/nginx/er"
  },
  {
    "path": "tests/7.2-nginx/test",
    "chars": 177,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-nginx -f ../../docker/7.2-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
  },
  {
    "path": "tests/7.2-phpunit/Dockerfile",
    "chars": 85,
    "preview": "FROM phpearth/test:7.2-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        phpunit\n"
  },
  {
    "path": "tests/7.2-phpunit/goss.yaml",
    "chars": 355,
    "preview": "command:\n  phpunit --version:\n    exit-status: 0\n    stdout:\n    - 'by Sebastian Bergmann and contributors.'\n    stderr:"
  },
  {
    "path": "tests/7.2-phpunit/test",
    "chars": 237,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.2-cli -f ../../docker/7.2-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.3-apache/goss.yaml",
    "chars": 626,
    "preview": "file:\n  /var/log/apache2/access.log:\n    exists: true\n    mode: \"0777\"\n    size: 11\n    owner: root\n    group: wheel\n   "
  },
  {
    "path": "tests/7.3-apache/test",
    "chars": 189,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-apache -f ../../docker/7.3-apache.Dockerfile ../../docker || exit 1\n\ni=0\n"
  },
  {
    "path": "tests/7.3-argon/Dockerfile",
    "chars": 114,
    "preview": "FROM phpearth/test:7.3-cli\n\nRUN mkdir -p /usr/src/app\n\nADD argon.php /usr/src/app/argon.php\n\nWORKDIR /usr/src/app\n"
  },
  {
    "path": "tests/7.3-argon/argon.php",
    "chars": 147,
    "preview": "<?php\n\n// plain text password\n$password = 'secretcode';\n\n// password hashed with PASSWORD_ARGON2I\necho password_hash($pa"
  },
  {
    "path": "tests/7.3-argon/goss.yaml",
    "chars": 85,
    "preview": "command:\n  php argon.php:\n    exit-status: 0\n    stderr: ['!/./']\n    timeout: 10000\n"
  },
  {
    "path": "tests/7.3-argon/test",
    "chars": 255,
    "preview": "#!/bin/bash\n\ndocker build --no-cache -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\n"
  },
  {
    "path": "tests/7.3-cgi/goss.yaml",
    "chars": 672,
    "preview": "command:\n  php-cgi -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - bcmath\n    - bz2\n    - calendar\n    - "
  },
  {
    "path": "tests/7.3-cgi/test",
    "chars": 175,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cgi -f ../../docker/7.3-cgi.Dockerfile ../../docker || exit 1\n\ni=0\ntime d"
  },
  {
    "path": "tests/7.3-composer/Dockerfile",
    "chars": 86,
    "preview": "FROM phpearth/test:7.3-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        composer\n"
  },
  {
    "path": "tests/7.3-composer/goss.yaml",
    "chars": 138,
    "preview": "command:\n  composer about:\n    exit-status: 0\n    stdout:\n    - 'Composer - Package Management for PHP'\n    stderr: []\n "
  },
  {
    "path": "tests/7.3-composer/test",
    "chars": 239,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.3-extensions/Dockerfile",
    "chars": 287,
    "preview": "FROM phpearth/test:7.3-cli\n\nRUN apk add --no-cache \\\n    php7.3-apcu \\\n    php7.3-cmark \\\n    php7.3-ds \\\n    php7.3-ima"
  },
  {
    "path": "tests/7.3-extensions/goss.yaml",
    "chars": 818,
    "preview": "command:\n  php -m:\n    exit-status: 0\n    stdout:\n    - '[PHP Modules]'\n    - apcu\n    - bcmath\n    - bz2\n    - calendar"
  },
  {
    "path": "tests/7.3-extensions/test",
    "chars": 243,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/7.3-litespeed/goss.yaml",
    "chars": 443,
    "preview": "file:\n  /var/log/litespeed/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/lite"
  },
  {
    "path": "tests/7.3-litespeed/test",
    "chars": 202,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-litespeed -f ../../docker/7.3-litespeed.Dockerfile ../../docker || exit 1"
  },
  {
    "path": "tests/7.3-nginx/goss.yaml",
    "chars": 450,
    "preview": "file:\n  /var/log/nginx/access.log:\n    exists: true\n    linked-to: /dev/stdout\n    filetype: symlink\n  /var/log/nginx/er"
  },
  {
    "path": "tests/7.3-nginx/test",
    "chars": 177,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-nginx -f ../../docker/7.3-nginx.Dockerfile ../../docker || exit 1\n\ni=0\nti"
  },
  {
    "path": "tests/7.3-phpunit/Dockerfile",
    "chars": 85,
    "preview": "FROM phpearth/test:7.3-cli\n\nRUN set -x \\\n    && apk add --no-cache \\\n        phpunit\n"
  },
  {
    "path": "tests/7.3-phpunit/goss.yaml",
    "chars": 355,
    "preview": "command:\n  phpunit --version:\n    exit-status: 0\n    stdout:\n    - 'by Sebastian Bergmann and contributors.'\n    stderr:"
  },
  {
    "path": "tests/7.3-phpunit/test",
    "chars": 237,
    "preview": "#!/bin/bash\n\ndocker build -t phpearth/test:7.3-cli -f ../../docker/7.3-cli.Dockerfile ../../docker || exit 1\ndocker buil"
  },
  {
    "path": "tests/test",
    "chars": 330,
    "preview": "#!/bin/bash\n\ntests=\"${1:-all}\"\ni=0\n\nrun() {\n  echo -e \"\\n\\n=======================\"\n  echo \"testing $1\"\n  echo \"========"
  }
]

About this extraction

This page contains the full source code of the phpearth/docker-php GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 141 files (117.2 KB), approximately 41.8k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!