Compare commits

...

33 Commits
0.91 ... 0.96

Author SHA1 Message Date
cytopia
9c1e49b814 Merge pull request #141 from devilbox/release-0.96
Release v0.96
2019-12-28 03:00:34 +01:00
cytopia
c1aa814206 Update modules in README 2019-12-27 17:22:19 +01:00
cytopia
a382745a2f Fix phalcon-devtools install 2019-12-27 17:19:45 +01:00
cytopia
d9d6f2d157 Fix deployer install 2019-12-27 14:56:47 +01:00
cytopia
9c82fb08c3 Fix Phalcon PHP module 2019-12-27 14:40:37 +01:00
cytopia
91733db9e9 Fix npm install 2019-12-27 13:30:55 +01:00
cytopia
41fec62672 Fix pecl install 2019-12-27 11:43:23 +01:00
cytopia
3e9e00e0c2 Merge pull request #136 from devilbox/release-0.95
Release 0.95
2019-11-29 09:36:04 +01:00
cytopia
d4a16ba3b3 Fix laravel cli 2019-11-28 11:49:50 +01:00
cytopia
fb7a3e8bff Merge pull request #135 from devilbox/release-0.94
Release 0.94
2019-11-22 00:05:32 +01:00
cytopia
dc7336fa3d Show tests that are skipped 2019-11-21 22:01:15 +01:00
cytopia
0750ec9339 imagick integration tests 2019-11-21 17:22:36 +01:00
cytopia
c360bec703 Update phalcon module 2019-11-21 17:22:22 +01:00
cytopia
1ec8a494e4 Add enchant to 7.3 2019-11-21 16:05:03 +01:00
cytopia
883a897420 Add enchant to 7.4 and 8.0 2019-11-21 15:56:49 +01:00
cytopia
7f018000be Merge pull request #134 from devilbox/release-0.93
Release 0.93
2019-11-19 09:19:08 +01:00
cytopia
7f3a6f3e64 Disable imagick for 5.3, 5.4 and 5.5 due to segfaults 2019-11-18 23:48:06 +01:00
cytopia
83124e8632 Add more gd tests 2019-11-18 17:58:00 +01:00
cytopia
806b408878 Only check imagick against supported versions 2019-11-18 17:44:11 +01:00
cytopia
3d15aea68b Fix gd for PHP 7.4 and PHP 8.0 2019-11-18 16:52:55 +01:00
cytopia
db7c4e6334 Add module integration tests 2019-11-18 16:52:35 +01:00
cytopia
2c6e013fad Adding Ghostscript 2019-11-17 22:48:50 +01:00
cytopia
b35f3a822c Merge pull request #132 from fschndr/master
Fixed typo in MySQL backup example
2019-11-16 13:23:32 +01:00
Fabian
f20932ce74 Fixed typo in MySQL backup example
The container-side path of the volume had a typo in the README.md example.
2019-11-13 10:51:52 +01:00
cytopia
78d39e57f0 Merge pull request #131 from devilbox/release-0.92
Release 0.92
2019-11-09 17:07:32 +01:00
cytopia
6b666d029b Enable more extensions 2019-11-09 14:45:11 +01:00
cytopia
85b743c822 Enable xdebug for PHP 7.4 2019-11-09 11:46:42 +01:00
cytopia
2643b28775 Refs #121 Allow to overwrite CMD and have custom startup commands 2019-11-09 00:17:31 +01:00
cytopia
bbe1b43474 Prepare Nightly builds 2019-11-08 20:32:31 +01:00
cytopia
83f57430e5 Merge pull request #130 from devilbox/github-actions
Prepare push phase
2019-11-08 19:29:33 +01:00
cytopia
696faf598d Prepare push phase 2019-11-08 09:42:06 +01:00
cytopia
a0a0738205 Merge pull request #129 from devilbox/github-actions-fix
Fix variable replacement in GitHub actions
2019-11-06 15:50:16 +01:00
cytopia
020d778fca Fix variable replacement in GitHub actions 2019-11-06 15:51:20 +01:00
72 changed files with 1715 additions and 391 deletions

View File

@@ -4,7 +4,7 @@
### Lints all generic and json files in the whole git repository
###
name: linting
name: Linting
on:
pull_request:

View File

@@ -3,7 +3,7 @@
# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: PHP
name: PHP-CI
# -------------------------------------------------------------------------------------------------
@@ -20,10 +20,6 @@ on:
tags:
- '[0-9]+.[0-9]+*'
# Runs daily
schedule:
- cron: '0 0 * * *'
# -------------------------------------------------------------------------------------------------
# What to run
@@ -87,9 +83,35 @@ jobs:
- '7.4'
- '8.0'
steps:
# ------------------------------------------------------------
# Checkout repository
# ------------------------------------------------------------
- name: Checkout repository
uses: actions/checkout@v1
- name: Set variables
id: vars
run: |
# Set git branch or git tag as slug
if [[ ${GITHUB_REF} =~ ^refs\/tags\/ ]]; then
GIT_TYPE=TAG
GIT_SLUG="${GITHUB_REF/refs\/tags\//}"
else
GIT_TYPE=BRANCH
if [ -n "${GITHUB_HEAD_REF}" ]; then
GIT_SLUG="${GITHUB_HEAD_REF}"
else
GIT_SLUG="${GITHUB_REF/refs\/heads\//}"
fi
fi
# Export variable
# # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env
echo ::set-env name=GIT_TYPE::${GIT_TYPE}
echo ::set-env name=GIT_SLUG::${GIT_SLUG}
# ------------------------------------------------------------
# Base
# ------------------------------------------------------------
@@ -101,10 +123,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make build-base VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -118,10 +140,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make test-base VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -139,10 +161,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make build-mods VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -156,10 +178,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make test-mods VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -177,10 +199,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make build-prod VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -194,10 +216,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make test-prod VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -215,10 +237,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make build-work VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -232,10 +254,10 @@ jobs:
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
sleep 10
retry make test-work VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
@@ -260,23 +282,46 @@ jobs:
# Only run this, if the PR was created by the repo owner
- name: Publish images (only repo owner)
run: |
# Set branch or tag as slug
if [[ ${GITHUB_REF} =~ ^refs\/tags\/ ]]; then
GIT_TYPE=TAG
GIT_SLUG="${GITHUB_REF/refs\/tags\//}"
else
GIT_TYPE=BRANCH
if [ -n "${GITHUB_HEAD_REF}" ]; then
GIT_SLUG="${GITHUB_HEAD_REF}"
else
GIT_SLUG="${GITHUB_REF/refs\/head\//}"
fi
fi
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
# Info output
echo "Git Type: ${GIT_TYPE}"
echo "Git Slug: ${GIT_SLUG}"
echo "Todo: Push to Dockerhub"
# Login
echo "retry make login USER= PASS="
# Push
if [ "${GIT_TYPE}" = "TAG" ]; then
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
else
if [ "${GIT_SLUG}" = "master" ]; then
echo "retry make push-base VERSION=${VERSION}"
echo "retry make push-mods VERSION=${VERSION}"
echo "retry make push-prod VERSION=${VERSION}"
echo "retry make push-work VERSION=${VERSION}"
else
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
fi
fi
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions
if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
&& (

328
.github/workflows/php-nightly.yml vendored Normal file
View File

@@ -0,0 +1,328 @@
---
# -------------------------------------------------------------------------------------------------
# Job Name
# -------------------------------------------------------------------------------------------------
name: PHP-Nightly
# -------------------------------------------------------------------------------------------------
# When to run
# -------------------------------------------------------------------------------------------------
on:
# Runs daily
schedule:
- cron: '0 0 * * *'
# -------------------------------------------------------------------------------------------------
# What to run
# -------------------------------------------------------------------------------------------------
jobs:
diagnostics:
name: Diagnostics
runs-on: ubuntu-latest
strategy:
fail-fast: False
steps:
- name: Checkout repository
uses: actions/checkout@v1
- name: Show environment
run: |
env
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#github-context
- name: Show GitHub variables
run: |
echo "github.actor: ${{ github.actor }}"
echo "github.ref: ${{ github.ref }}"
echo "github.base_ref: ${{ github.base_ref }}"
echo "github.head_ref: ${{ github.head_ref }}"
echo "github.event: ${{ github.event }}"
echo "github.event_name: ${{ github.event_name }}"
echo "github.event.pull_request.base.repo.id: ${{ github.event.pull_request.base.repo.id }}"
echo "github.event.pull_request.head.repo.id: ${{ github.event.pull_request.head.repo.id }}"
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "${GITHUB_CONTEXT}"
- name: Dump Runner context
env:
RUNNER_CONTEXT: ${{ toJson(runner) }}
run: echo "${RUNNER_CONTEXT}"
build:
name: "[ ${{ matrix.version }} ]"
runs-on: ubuntu-latest
strategy:
fail-fast: False
matrix:
# Adding all targets and only run them if they exist.
# Prevents us from forgetting to update this in case
# we add new envs in terragrunt.
version:
- '5.2'
- '5.3'
- '5.4'
- '5.5'
- '5.6'
- '7.0'
- '7.1'
- '7.2'
- '7.3'
- '7.4'
- '8.0'
steps:
# ------------------------------------------------------------
# Checkout repository
# ------------------------------------------------------------
- name: Checkout repository
uses: actions/checkout@v1
- name: Set variables
id: vars
run: |
# Set git branch or git tag as slug
if [[ ${GITHUB_REF} =~ ^refs\/tags\/ ]]; then
GIT_TYPE=TAG
GIT_SLUG="${GITHUB_REF/refs\/tags\//}"
else
GIT_TYPE=BRANCH
if [ -n "${GITHUB_HEAD_REF}" ]; then
GIT_SLUG="${GITHUB_HEAD_REF}"
else
GIT_SLUG="${GITHUB_REF/refs\/heads\//}"
fi
fi
# Export variable
# # https://help.github.com/en/actions/automating-your-workflow-with-github-actions/development-tools-for-github-actions#set-an-environment-variable-set-env
echo ::set-env name=GIT_TYPE::${GIT_TYPE}
echo ::set-env name=GIT_SLUG::${GIT_SLUG}
# ------------------------------------------------------------
# Base
# ------------------------------------------------------------
- name: Build Base
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make build-base VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
- name: Test Base
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make test-base VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
# ------------------------------------------------------------
# Mods
# ------------------------------------------------------------
- name: Build Mods
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make build-mods VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
- name: Test Mods
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make test-mods VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
# ------------------------------------------------------------
# Prod
# ------------------------------------------------------------
- name: Build Prod
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make build-prod VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
- name: Test Prod
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make test-prod VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
# ------------------------------------------------------------
# Work
# ------------------------------------------------------------
- name: Build Work
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make build-work VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
- name: Test Work
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
retry make test-work VERSION=${VERSION}
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
# ------------------------------------------------------------
# Diff README.md
# ------------------------------------------------------------
- name: Diff README.md
run: |
make gen-readme VERSION=${VERSION}
git diff --quiet || { echo "Build Changes"; git diff; git status; false; }
env:
VERSION: ${{ matrix.version }}
# ------------------------------------------------------------
# Push build artifacts
# ------------------------------------------------------------
# Only run this, if the PR was created by the repo owner
- name: Publish images (only repo owner)
run: |
retry() {
for ((n=0; n<${RETRIES}; n++)); do
echo "[${n}] ${*}";
if eval "${*}"; then
return 0;
fi;
sleep 10;
done;
return 1;
}
# Info output
echo "Git Type: ${GIT_TYPE}"
echo "Git Slug: ${GIT_SLUG}"
# Login
echo "retry make login USER= PASS="
# Push
if [ "${GIT_TYPE}" = "TAG" ]; then
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
else
if [ "${GIT_SLUG}" = "master" ]; then
echo "retry make push-base VERSION=${VERSION}"
echo "retry make push-mods VERSION=${VERSION}"
echo "retry make push-prod VERSION=${VERSION}"
echo "retry make push-work VERSION=${VERSION}"
else
echo "retry make push-base VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-mods VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-prod VERSION=${VERSION}-${GIT_SLUG}"
echo "retry make push-work VERSION=${VERSION}-${GIT_SLUG}"
fi
fi
env:
VERSION: ${{ matrix.version }}
RETRIES: 5
# https://help.github.com/en/github/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#functions
if: github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id
&& (
(github.event_name == 'schedule' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
||
(github.event_name == 'push' && (github.ref == 'refs/heads/master' || startsWith(github.ref, 'refs/tags/')))
||
(github.event_name == 'pull_request' && (startsWith(github.head_ref, 'release-')))
)

View File

@@ -107,4 +107,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -107,4 +107,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -107,4 +107,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -107,4 +107,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -100,4 +100,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -100,4 +100,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -100,4 +100,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -100,4 +100,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -100,4 +100,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -100,4 +100,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -100,4 +100,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -2,7 +2,7 @@
set -e
set -u
set -p pipefail
set -o pipefail
###
@@ -52,4 +52,4 @@ set_gid "NEW_GID" "${MY_GROUP}" "/home/${MY_USER}" "${DEBUG_LEVEL}"
### Startup
###
log "info" "Starting $( php-fpm -v 2>&1 | head -1 )" "${DEBUG_LEVEL}"
exec /usr/local/sbin/php-fpm
exec "${@}"

View File

@@ -261,10 +261,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
&& pecl install memcache-2.2.7 \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -773,4 +773,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -26,7 +26,6 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
@@ -203,17 +202,6 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: imagick --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install imagick-3.3.0 \
# Enabling
&& docker-php-ext-enable imagick \
&& true
# -------------------- Installing PHP Extension: imap --------------------
RUN set -eux \
# Generic pre-command
@@ -284,10 +272,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
&& pecl install memcache-2.2.7 \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -448,7 +436,7 @@ RUN set -eux \
# Custom: Branch
&& git checkout phalcon-v2.0.9 \
# Custom: Install command
&& cd build && ./install >/dev/null \
&& cd build && ./install \
# Enabling
&& docker-php-ext-enable phalcon \
&& true
@@ -689,7 +677,6 @@ RUN set -eux \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
@@ -783,8 +770,6 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^iconv$' \
&& php -m | grep -oiE '^igbinary$' \
&& php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^interbase$' \
@@ -916,4 +901,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -26,7 +26,6 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
@@ -203,17 +202,6 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: imagick --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install imagick \
# Enabling
&& docker-php-ext-enable imagick \
&& true
# -------------------- Installing PHP Extension: imap --------------------
RUN set -eux \
# Generic pre-command
@@ -284,10 +272,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
&& pecl install memcache-2.2.7 \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -447,6 +435,17 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install psr-0.5.1 \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Version specific
@@ -697,7 +696,6 @@ RUN set -eux \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
@@ -791,8 +789,6 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^iconv$' \
&& php -m | grep -oiE '^igbinary$' \
&& php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^interbase$' \
@@ -851,6 +847,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
@@ -924,4 +922,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -26,7 +26,6 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
@@ -194,17 +193,6 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: imagick --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install imagick \
# Enabling
&& docker-php-ext-enable imagick \
&& true
# -------------------- Installing PHP Extension: imap --------------------
RUN set -eux \
# Generic pre-command
@@ -267,10 +255,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
&& pecl install memcache-2.2.7 \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -427,6 +415,17 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install psr-0.5.1 \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Version specific
@@ -434,7 +433,7 @@ RUN set -eux \
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
# Custom: Branch
&& git checkout v3.4.2 \
&& git checkout v3.4.4 \
# Custom: Install command
&& cd build && ./install \
# Enabling
@@ -685,7 +684,6 @@ RUN set -eux \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
libmagickwand-6.q16-2 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
@@ -779,8 +777,6 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^iconv$' \
&& php -m | grep -oiE '^igbinary$' \
&& php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^imap$' \
&& php-fpm -m | grep -oiE '^imap$' \
&& php -m | grep -oiE '^interbase$' \
@@ -839,6 +835,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
@@ -912,4 +910,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -43,6 +43,7 @@ RUN set -eux \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libwebp6 \
libxml2-dev \
libxpm-dev \
libxslt-dev \
@@ -283,10 +284,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
&& pecl install memcache-2.2.7 \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -444,6 +445,17 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install psr-0.6.0 \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Version specific
@@ -451,7 +463,7 @@ RUN set -eux \
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
# Custom: Branch
&& git checkout v3.4.2 \
&& git checkout v3.4.4 \
# Custom: Install command
&& cd build && ./install \
# Enabling
@@ -857,6 +869,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlite$' \
&& php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
@@ -930,4 +944,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -43,6 +43,7 @@ RUN set -eux \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libwebp6 \
libxml2-dev \
libxpm-dev \
libxslt-dev \
@@ -284,17 +285,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \
# Custom: Branch
&& git checkout origin/php7 \
# Default: Install command
&& phpize \
&& ./configure --with-zlib-dir=/usr \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -469,6 +463,17 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Version specific
@@ -476,7 +481,7 @@ RUN set -eux \
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
# Custom: Branch
&& git checkout v3.4.2 \
&& git checkout v3.4.4 \
# Custom: Install command
&& cd build && ./install \
# Enabling
@@ -898,6 +903,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
@@ -973,4 +980,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -43,6 +43,7 @@ RUN set -eux \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libwebp6 \
libxml2-dev \
libxpm-dev \
libxslt-dev \
@@ -283,17 +284,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \
# Custom: Branch
&& git checkout origin/php7 \
# Default: Install command
&& phpize \
&& ./configure --with-zlib-dir=/usr \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -468,6 +462,17 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Version specific
@@ -475,7 +480,7 @@ RUN set -eux \
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
# Custom: Branch
&& git checkout v3.4.2 \
&& git checkout v3.4.4 \
# Custom: Install command
&& cd build && ./install \
# Enabling
@@ -752,6 +757,7 @@ RUN set -eux \
libsybdb5 \
libtidy5deb1 \
libvpx5 \
libwebp-dev \
libwebp6 \
libxpm4 \
libxslt1.1 \
@@ -896,6 +902,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
@@ -971,4 +979,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -43,6 +43,7 @@ RUN set -eux \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libwebp6 \
libxml2-dev \
libxpm-dev \
libxslt-dev \
@@ -286,17 +287,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/websupport-sk/pecl-memcache /tmp/memcache \
&& cd /tmp/memcache \
# Custom: Branch
&& git checkout origin/php7 \
# Default: Install command
&& phpize \
&& ./configure --with-zlib-dir=/usr \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install memcache \
# Enabling
&& docker-php-ext-enable memcache \
&& true
@@ -472,6 +466,17 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Generic
@@ -756,6 +761,7 @@ RUN set -eux \
libsybdb5 \
libtidy5deb1 \
libvpx5 \
libwebp-dev \
libwebp6 \
libxpm4 \
libxslt1.1 \
@@ -900,6 +906,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
@@ -977,4 +985,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -36,6 +36,7 @@ RUN set -eux \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librdkafka-dev \
librecode-dev \
libsasl2-dev \
@@ -44,6 +45,7 @@ RUN set -eux \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libwebp6 \
libxml2-dev \
libxpm-dev \
libxslt-dev \
@@ -69,6 +71,34 @@ RUN set -eux \
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
fi
# -------------------- Installing PHP Extension: ioncube --------------------
RUN set -eux \
# Installation: Generic
# Type: Custom extension
&& EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \
&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \
&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \
&& tar xvfz ioncube.tar.gz \
&& cd ioncube \
&& cp "ioncube_loader_lin_7.3.so" "${EXTENSION_DIR}/ioncube.so" \
&& cd ../ \
&& rm -rf ioncube \
&& rm -rf ioncube.tar.gz \
\
&& true
# -------------------- Installing PHP Extension: amqp --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Custom: Pecl command
&& echo "/usr" | pecl install amqp \
# Enabling
&& docker-php-ext-enable amqp \
&& true
# -------------------- Installing PHP Extension: apcu --------------------
RUN set -eux \
# Installation: Generic
@@ -427,6 +457,32 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: psr --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install psr \
# Enabling
&& docker-php-ext-enable psr \
&& true
# -------------------- Installing PHP Extension: phalcon --------------------
RUN set -eux \
# Installation: Generic
# Type: GIT extension
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
&& cd /tmp/phalcon \
# Custom: Branch
&& git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \
# Custom: Install command
&& cd build && ./install \
# Enabling
&& docker-php-ext-enable phalcon \
&& true
# -------------------- Installing PHP Extension: pspell --------------------
RUN set -eux \
# Installation: Generic
@@ -704,11 +760,13 @@ RUN set -eux \
libnghttp2-14 \
libpng16-16 \
libpq5 \
librabbitmq4 \
librdkafka1 \
librecode0 \
libsybdb5 \
libtidy5deb1 \
libvpx5 \
libwebp-dev \
libwebp6 \
libxpm4 \
libxslt1.1 \
@@ -753,6 +811,8 @@ RUN set -eux \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^apcu$' \
&& php-fpm -m | grep -oiE '^apcu$' \
&& php -m | grep -oiE '^bcmath$' \
@@ -849,6 +909,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pdo_sqlsrv$' \
&& php -m | grep -oiE '^pgsql$' \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
&& php -m | grep -oiE '^phalcon$' \
&& php-fpm -m | grep -oiE '^phalcon$' \
&& php -m | grep -oiE '^phar$' \
&& php-fpm -m | grep -oiE '^phar$' \
&& php -m | grep -oiE '^posix$' \
@@ -924,4 +988,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -15,6 +15,7 @@ RUN set -eux \
freetds-dev \
libaio-dev \
libbz2-dev \
libenchant-dev \
libevent-dev \
libfbclient2 \
libffi-dev \
@@ -25,11 +26,14 @@ RUN set -eux \
libicu-dev \
libjpeg-dev \
libldap2-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
libnghttp2-dev \
libpng-dev \
libpq-dev \
libpspell-dev \
librabbitmq-dev \
librdkafka-dev \
libsasl2-dev \
libsnmp-dev \
@@ -37,6 +41,7 @@ RUN set -eux \
libtidy-dev \
libvpx-dev \
libwebp-dev \
libwebp6 \
libxml2-dev \
libxpm-dev \
libxslt-dev \
@@ -61,6 +66,17 @@ RUN set -eux \
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
fi
# -------------------- Installing PHP Extension: amqp --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Custom: Pecl command
&& echo "/usr" | pecl install amqp \
# Enabling
&& docker-php-ext-enable amqp \
&& true
# -------------------- Installing PHP Extension: bcmath --------------------
RUN set -eux \
# Installation: Generic
@@ -93,6 +109,14 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: enchant --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
&& true
# -------------------- Installing PHP Extension: exif --------------------
RUN set -eux \
# Installation: Generic
@@ -125,7 +149,7 @@ RUN set -eux \
# Installation: Version specific
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv \
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
&& true
@@ -160,11 +184,21 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: imagick --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install imagick \
# Enabling
&& docker-php-ext-enable imagick \
&& true
# -------------------- Installing PHP Extension: intl --------------------
RUN set -eux \
# Installation: Version specific
# Installation: Generic
# Type: Built-in extension
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& true
@@ -181,6 +215,28 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: mcrypt --------------------
RUN set -eux \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
&& pecl install mcrypt \
# Enabling
&& docker-php-ext-enable mcrypt \
&& true
# -------------------- Installing PHP Extension: msgpack --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install msgpack \
# Enabling
&& docker-php-ext-enable msgpack \
&& true
# -------------------- Installing PHP Extension: memcached --------------------
RUN set -eux \
# Installation: Version specific
@@ -363,10 +419,10 @@ RUN set -eux \
# -------------------- Installing PHP Extension: rdkafka --------------------
RUN set -eux \
# Installation: Version specific
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install rdkafka-3.1.2 \
&& pecl install rdkafka \
# Enabling
&& docker-php-ext-enable rdkafka \
&& true
@@ -458,9 +514,8 @@ RUN set -eux \
# -------------------- Installing PHP Extension: tidy --------------------
RUN set -eux \
# Installation: Version specific
# Installation: Generic
# Type: Built-in extension
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& true
@@ -481,6 +536,17 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: xdebug --------------------
RUN set -eux \
# Installation: Generic
# Type: PECL extension
# Default: Pecl command
&& pecl install xdebug \
# Enabling
&& docker-php-ext-enable xdebug \
&& true
# -------------------- Installing PHP Extension: xmlrpc --------------------
RUN set -eux \
# Installation: Generic
@@ -567,20 +633,25 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libaio1 \
libaspell15 \
libenchant1c2a \
libfbclient2 \
libffi6 \
libfreetype6 \
libhiredis0.13 \
libicu57 \
libhiredis0.14 \
libicu63 \
libjpeg62-turbo \
libmagickwand-6.q16-6 \
libmcrypt4 \
libmemcachedutil2 \
libnghttp2-14 \
libpng16-16 \
libpq5 \
librabbitmq4 \
librdkafka1 \
libsybdb5 \
libtidy5 \
libvpx4 \
libtidy5deb1 \
libvpx5 \
libwebp-dev \
libwebp6 \
libxpm4 \
libxslt1.1 \
@@ -624,6 +695,8 @@ RUN set -eux \
&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
&& rm -f /usr/local/etc/php/php.ini \
\
&& php -m | grep -oiE '^amqp$' \
&& php-fpm -m | grep -oiE '^amqp$' \
&& php -m | grep -oiE '^bcmath$' \
&& php-fpm -m | grep -oiE '^bcmath$' \
&& php -m | grep -oiE '^bz2$' \
@@ -638,6 +711,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^dba$' \
&& php -m | grep -oiE '^dom$' \
&& php-fpm -m | grep -oiE '^dom$' \
&& php -m | grep -oiE '^enchant$' \
&& php-fpm -m | grep -oiE '^enchant$' \
&& php -m | grep -oiE '^exif$' \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^ffi$' \
@@ -660,6 +735,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^iconv$' \
&& php -m | grep -oiE '^igbinary$' \
&& php-fpm -m | grep -oiE '^igbinary$' \
&& php -m | grep -oiE '^imagick$' \
&& php-fpm -m | grep -oiE '^imagick$' \
&& php -m | grep -oiE '^intl$' \
&& php-fpm -m | grep -oiE '^intl$' \
&& php -m | grep -oiE '^json$' \
@@ -670,6 +747,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^libxml$' \
&& php -m | grep -oiE '^mbstring$' \
&& php-fpm -m | grep -oiE '^mbstring$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^msgpack$' \
&& php-fpm -m | grep -oiE '^msgpack$' \
&& php -m | grep -oiE '^memcached$' \
&& php-fpm -m | grep -oiE '^memcached$' \
&& php -m | grep -oiE '^mongodb$' \
@@ -747,6 +828,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^tokenizer$' \
&& php -m | grep -oiE '^uploadprogress$' \
&& php-fpm -m | grep -oiE '^uploadprogress$' \
&& php -m | grep -oiE '^xdebug$' \
&& php-fpm -m | grep -oiE '^xdebug$' \
&& php -m | grep -oiE '^xml$' \
&& php-fpm -m | grep -oiE '^xml$' \
&& php -m | grep -oiE '^xmlreader$' \
@@ -771,4 +854,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -14,6 +14,7 @@ RUN set -eux \
freetds-dev \
libaio-dev \
libbz2-dev \
libenchant-dev \
libevent-dev \
libfbclient2 \
libfreetype6-dev \
@@ -89,6 +90,14 @@ RUN set -eux \
&& true
# -------------------- Installing PHP Extension: enchant --------------------
RUN set -eux \
# Installation: Generic
# Type: Built-in extension
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \
&& true
# -------------------- Installing PHP Extension: exif --------------------
RUN set -eux \
# Installation: Generic
@@ -104,7 +113,7 @@ RUN set -eux \
# Installation: Version specific
# Type: Built-in extension
# Custom: configure command
&& docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \
&& docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv \
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \
&& true
@@ -130,9 +139,8 @@ RUN set -eux \
# -------------------- Installing PHP Extension: intl --------------------
RUN set -eux \
# Installation: Version specific
# Installation: Generic
# Type: Built-in extension
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \
&& true
@@ -444,9 +452,8 @@ RUN set -eux \
# -------------------- Installing PHP Extension: tidy --------------------
RUN set -eux \
# Installation: Version specific
# Installation: Generic
# Type: Built-in extension
# Installation
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \
&& true
@@ -560,17 +567,18 @@ RUN set -eux \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libaio1 \
libaspell15 \
libenchant1c2a \
libfbclient2 \
libffi6 \
libfreetype6 \
libicu57 \
libicu63 \
libjpeg62-turbo \
libmemcachedutil2 \
libpng16-16 \
libpq5 \
libsybdb5 \
libtidy5 \
libvpx4 \
libtidy5deb1 \
libvpx5 \
libwebp6 \
libxpm4 \
libxslt1.1 \
@@ -628,6 +636,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^dba$' \
&& php -m | grep -oiE '^dom$' \
&& php-fpm -m | grep -oiE '^dom$' \
&& php -m | grep -oiE '^enchant$' \
&& php-fpm -m | grep -oiE '^enchant$' \
&& php -m | grep -oiE '^exif$' \
&& php-fpm -m | grep -oiE '^exif$' \
&& php -m | grep -oiE '^ffi$' \
@@ -755,4 +765,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -93,4 +93,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -2,7 +2,7 @@
set -e
set -u
set -p pipefail
set -o pipefail
###
@@ -190,4 +190,4 @@ execute_custom_scripts "/startup.2.d" "${DEBUG_LEVEL}"
### Startup
###
log "info" "Starting supervisord" "${DEBUG_LEVEL}"
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
exec "${@}"

View File

@@ -72,6 +72,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -297,40 +298,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -516,4 +517,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -72,6 +72,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -347,40 +348,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -573,4 +574,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -72,6 +72,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -214,9 +215,9 @@ RUN set -eux \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -380,40 +381,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -610,4 +611,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -72,6 +72,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -218,9 +219,9 @@ RUN set -eux \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -271,12 +272,12 @@ RUN set -eux \
# -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& git checkout v3.4.11 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
\
@@ -397,40 +398,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -631,4 +632,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -231,9 +232,9 @@ RUN set -eux \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -284,12 +285,12 @@ RUN set -eux \
# -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& git checkout v3.4.11 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
\
@@ -410,40 +411,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -645,4 +646,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -168,7 +169,7 @@ RUN set -eux \
\
\
# -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& curl -sS https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
\
# -------------------- drush7 --------------------
@@ -231,9 +232,9 @@ RUN set -eux \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -284,12 +285,12 @@ RUN set -eux \
# -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& git checkout v3.4.11 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
\
@@ -410,40 +411,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -645,4 +646,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -168,7 +169,7 @@ RUN set -eux \
\
\
# -------------------- deployer --------------------
&& curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep \
&& curl -sS https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep \
&& chmod +x /usr/local/bin/dep \
\
# -------------------- drush7 --------------------
@@ -227,13 +228,13 @@ RUN set -eux \
# -------------------- laravel --------------------
&& git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout $(git describe --abbrev=0 --tags) \
&& git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -284,12 +285,12 @@ RUN set -eux \
# -------------------- phalcon --------------------
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& git checkout v3.4.11 \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
\
@@ -410,40 +411,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -645,4 +646,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -231,9 +232,9 @@ RUN set -eux \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -285,6 +286,7 @@ RUN set -eux \
&& git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& composer install \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
@@ -410,40 +412,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -645,4 +647,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -231,9 +232,9 @@ RUN set -eux \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -397,40 +398,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -631,4 +632,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -86,7 +87,7 @@ RUN set -eux \
mongodb-org-shell \
mongodb-org-tools \
moreutils \
mysql-client \
mariadb-client \
nano \
net-tools \
netcat \
@@ -231,9 +232,9 @@ RUN set -eux \
\
&& chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
\
&& ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel \
\
# -------------------- linkcheck --------------------
&& curl https://raw.githubusercontent.com/cytopia/linkcheck/master/linkcheck > /usr/local/bin/linkcheck \
@@ -304,7 +305,7 @@ RUN set -eux \
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \
@@ -392,40 +393,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -625,4 +626,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -86,7 +87,7 @@ RUN set -eux \
mongodb-org-shell \
mongodb-org-tools \
moreutils \
mysql-client \
mariadb-client \
nano \
net-tools \
netcat \
@@ -242,7 +243,7 @@ RUN set -eux \
&& VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )" \
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont1 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \
@@ -311,40 +312,40 @@ RUN set -eux \
###
RUN set -eux \
# -------------------- angular_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @angular/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @angular/cli' devilbox \
\
# -------------------- eslint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g eslint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force eslint' devilbox \
\
# -------------------- grunt --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt' devilbox \
\
# -------------------- grunt_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g grunt-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force grunt-cli' devilbox \
\
# -------------------- gulp --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g gulp' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force gulp' devilbox \
\
# -------------------- jsonlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g jsonlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force jsonlint' devilbox \
\
# -------------------- pm2 --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g pm2' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force pm2' devilbox \
\
# -------------------- mdlint --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g mdlint' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force mdlint' devilbox \
\
# -------------------- vue_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli' devilbox \
\
# -------------------- vue_cli_service_global --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g @vue/cli-service-global' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force @vue/cli-service-global' devilbox \
\
# -------------------- webpack --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack' devilbox \
\
# -------------------- webpack_cli --------------------
&& su -c '. /opt/nvm/nvm.sh; npm install -g webpack-cli' devilbox \
&& su -c '. /opt/nvm/nvm.sh; npm install -g --force webpack-cli' devilbox \
\
\
&& ln -sf $(dirname $(su -c '. /opt/nvm/nvm.sh; nvm which current' devilbox))/* /usr/local/bin/ \
@@ -534,4 +535,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -2,7 +2,7 @@
set -e
set -u
set -p pipefail
set -o pipefail
###
@@ -217,4 +217,4 @@ execute_custom_scripts "/startup.2.d" "${DEBUG_LEVEL}"
### Startup
###
log "info" "Starting supervisord" "${DEBUG_LEVEL}"
exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
exec "${@}"

View File

@@ -1,8 +1,9 @@
# PHP-FPM Docker images
[![PHP](https://github.com/devilbox/docker-php-fpm/workflows/linting/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=linting)
[![Linting](https://github.com/devilbox/docker-php-fpm/workflows/PHP/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP)
[![Build Status](https://travis-ci.org/devilbox/docker-php-fpm.svg?branch=master)](https://travis-ci.org/devilbox/docker-php-fpm)
[![Linting](https://github.com/devilbox/docker-php-fpm/workflows/Linting/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=Linting)
[![CI](https://github.com/devilbox/docker-php-fpm/workflows/PHP-CI/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP-CI)
[![Nightly](https://github.com/devilbox/docker-php-fpm/workflows/PHP-Nightly/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP-Nightly)
[![Travis](https://travis-ci.org/devilbox/docker-php-fpm.svg?branch=master)](https://travis-ci.org/devilbox/docker-php-fpm)
[![Release](https://img.shields.io/github/release/devilbox/docker-php-fpm.svg?colorB=orange)](https://github.com/devilbox/docker-php-fpm/releases)
[![Gitter](https://badges.gitter.im/devilbox/Lobby.svg)](https://gitter.im/devilbox/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Discourse](https://img.shields.io/discourse/https/devilbox.discourse.group/status.svg?colorB=%234CB697)](https://devilbox.discourse.group)
@@ -606,52 +607,52 @@ Check out this table to see which Docker image provides what PHP modules.
<tr>
<th>5.3</th>
<td id="53-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysql, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, SQLite, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="53-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, SQLite, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>5.4</th>
<td id="54-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, hash, iconv, json, libxml, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, recode, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="54-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>5.5</th>
<td id="55-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="55-mods">amqp, apc, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>5.6</th>
<td id="56-base">Core, ctype, curl, date, dom, ereg, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mhash, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="56-mods">amqp, apc, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="56-mods">amqp, apc, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, ereg, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mhash, mongo, mongodb, msgpack, mysql, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.0</th>
<td id="70-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="70-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="70-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.1</th>
<td id="71-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="71-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="71-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.2</th>
<td id="72-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="72-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="72-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.3</th>
<td id="73-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="73-mods">apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, Phar, posix, pspell, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="73-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, interbase, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pdo_sqlsrv, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, wddx, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>7.4</th>
<td id="74-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="74-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="74-mods">amqp, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, intl, json, ldap, libxml, mbstring, mcrypt, memcached, mongodb, msgpack, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
<tr>
<th>8.0</th>
<td id="80-base">Core, ctype, curl, date, dom, FFI, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
<td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
<td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
</tr>
</tbody>
</table>
@@ -1227,7 +1228,7 @@ $ docker run -d \
-e MYSQL_BACKUP_USER=root \
-e MYSQL_BACKUP_PASS=somepass \
-e MYSQL_BACKUP_HOST=mysql \
-v ~/backups:/shared/backsup \
-v ~/backups:/shared/backups \
--name php \
-t devilbox/php-fpm:7.2-work
@@ -1237,9 +1238,8 @@ $ docker exec -it php mysqldump-secure
<h2><img id="automated-builds" width="20" src="https://github.com/devilbox/artwork/raw/master/submissions_logo/cytopia/01/png/logo_64_trans.png"> Automated builds</h2>
[![PHP](https://github.com/devilbox/docker-php-fpm/workflows/linting/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=linting)
[![Linting](https://github.com/devilbox/docker-php-fpm/workflows/PHP/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP)
[![Build Status](https://travis-ci.org/devilbox/docker-php-fpm.svg?branch=master)](https://travis-ci.org/devilbox/docker-php-fpm)
[![Nightly](https://github.com/devilbox/docker-php-fpm/workflows/PHP-Nightly/badge.svg)](https://github.com/devilbox/docker-php-fpm/actions?workflow=PHP-Nightly)
[![Travis](https://travis-ci.org/devilbox/docker-php-fpm.svg?branch=master)](https://travis-ci.org/devilbox/docker-php-fpm)
Docker images are built and tested every night by **[travis-ci](https://travis-ci.org/devilbox/docker-php-fpm)** and pushed to **[Docker hub](https://hub.docker.com/r/devilbox/php-fpm/)** on success. This is all done automatically to ensure that sources as well as base images are always fresh and in case of security updates always have the latest patches.

View File

@@ -121,4 +121,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -439,4 +439,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/local/sbin/php-fpm"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -95,4 +95,5 @@ EXPOSE 9000
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -85,6 +85,7 @@ RUN set -eux \
git \
git-flow \
git-svn \
ghostscript \
graphviz \
hostname \
htop \
@@ -100,7 +101,7 @@ RUN set -eux \
mongodb-org-shell \
mongodb-org-tools \
moreutils \
{% if php_version in [7.1, 7.2, 7.3] %}
{% if php_version in [7.1, 7.2, 7.3, 7.4, 8.0] %}
mariadb-client \
{% else %}
mysql-client \
@@ -276,13 +277,13 @@ RUN set -eux \
{%- endif -%}
{#- Version specific gem version available? -#}
{%- if php_version in npm_available[tool] and 'version' in npm_available[tool][php_version] -%}
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool][php_version]['version'] }}' devilbox \
{#- Generic gem version available? -#}
{%- elif 'all' in npm_available[tool] and 'version' in npm_available[tool]['all'] -%}
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }} {{ npm_available[tool]['all']['version'] }}' devilbox \
{#- No version info available -#}
{%- else -%}
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g {{ npm_available[tool]['name'] }}' devilbox \
{{ "\n\t" }}&& su -c '. /opt/nvm/nvm.sh; npm install -g --force {{ npm_available[tool]['name'] }}' devilbox \
{%- endif -%}
{#- Fail fast version -#}
{%- if build_fail_fast -%}
@@ -547,4 +548,5 @@ WORKDIR /shared/httpd
###
### Entrypoint
###
CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisord.conf"]
ENTRYPOINT ["/docker-entrypoint.sh"]

View File

@@ -71,6 +71,8 @@ extensions_enabled:
- pdo_sqlite
- pdo_sqlsrv
- pgsql
- psr
# requires psr to be installed
- phalcon
- phar
- posix
@@ -137,7 +139,7 @@ extensions_enabled:
# command: [required] Custom command to install and enable a module
extensions_available:
amqp:
disabled: [7.3, 7.4, 8.0]
disabled: [8.0]
5.2:
run_dep: [librabbitmq1]
type: pecl
@@ -206,7 +208,6 @@ extensions_available:
dom:
already_avail: "{{ php_all_versions }}"
enchant:
disabled: [7.4, 8.0] # TODO: re-enable
5.2:
type: pecl
command: echo "/usr" | pecl install enchant
@@ -295,12 +296,10 @@ extensions_available:
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv
7.4:
type: builtin
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv
8.0:
type: builtin
configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --enable-gd-jis-conv
all:
type: builtin
pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
@@ -340,27 +339,17 @@ extensions_available:
all:
type: pecl
imagick:
disabled: [5.2, 7.4, 8.0]
5.3:
type: pecl
version: 3.3.0
run_dep: [libmagickwand-6.q16-2]
5.4:
type: pecl
run_dep: [libmagickwand-6.q16-2]
5.5:
type: pecl
run_dep: [libmagickwand-6.q16-2]
disabled: [5.2, 5.3, 5.4, 5.5, 8.0] # 5.3, 5.4 and 5.5 segfaults
5.6:
type: pecl
run_dep: [libmagickwand-6.q16-3]
run_dep: [libmagickwand-6.q16-3, libwebp6]
7.0:
type: pecl
run_dep: [libmagickwand-6.q16-3]
run_dep: [libmagickwand-6.q16-3, libwebp6]
all:
type: pecl
build_dep: [libmagickwand-dev]
run_dep: [libmagickwand-6.q16-6]
build_dep: [libmagickwand-dev, libwebp6]
run_dep: [libmagickwand-6.q16-6, libwebp-dev]
imap:
disabled: [7.4, 8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found.
all:
@@ -370,7 +359,7 @@ extensions_available:
build_dep: [libc-client-dev, libkrb5-dev, libcurl4-openssl-dev]
run_dep: [libc-client2007e]
interbase:
disabled: [7.4, 8.0] # TODO: re-enable. currently not available anymore on 7.4 and 8.0
disabled: [7.4, 8.0]
all:
type: builtin
build_dep: [libfbclient2, libib-util, firebird-dev]
@@ -394,18 +383,12 @@ extensions_available:
7.0:
type: builtin
run_dep: [libicu57]
7.4:
type: builtin
run_dep: [libicu57]
8.0:
type: builtin
run_dep: [libicu57]
all:
type: builtin
build_dep: [libicu-dev]
run_dep: [libicu63]
ioncube:
disabled: [7.3, 7.4, 8.0]
disabled: [7.4, 8.0]
all:
type: custom
command: |
@@ -433,34 +416,36 @@ extensions_available:
all:
type: builtin
mcrypt:
disabled: [7.4, 8.0]
disabled: [8.0]
7.2:
type: pecl
version: 1.0.1
7.3:
type: pecl
version: 1.0.2
7.4:
type: pecl
all:
type: builtin
run_dep: [libmcrypt4]
build_dep: [libmcrypt-dev]
memcache:
disabled: [7.3, 7.4, 8.0]
7.0:
type: git
git_url: https://github.com/websupport-sk/pecl-memcache
git_ref: origin/php7
configure: --with-zlib-dir=/usr
7.1:
type: git
git_url: https://github.com/websupport-sk/pecl-memcache
git_ref: origin/php7
configure: --with-zlib-dir=/usr
7.2:
type: git
git_url: https://github.com/websupport-sk/pecl-memcache
git_ref: origin/php7
configure: --with-zlib-dir=/usr
5.2:
type: pecl
version: 2.2.7
5.3:
type: pecl
version: 2.2.7
5.4:
type: pecl
version: 2.2.7
5.5:
type: pecl
version: 2.2.7
5.6:
type: pecl
version: 2.2.7
all:
type: pecl
build_dep: [zlib1g-dev]
@@ -558,7 +543,7 @@ extensions_available:
type: pecl
build_dep: [libssl-dev, libsasl2-dev]
msgpack:
disabled: [7.4, 8.0]
disabled: [8.0]
5.2:
type: pecl
version: 0.5.7
@@ -680,16 +665,16 @@ extensions_available:
build_dep: [zlib1g-dev]
pdo_oci:
disabled: [5.2, 5.3, 5.4, 5.5, 5.6]
8.0:
type: builtin
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
7.4:
7.2:
type: builtin
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
7.3:
type: builtin
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
7.2:
7.4:
type: builtin
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
8.0:
type: builtin
configure: --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR}
all:
@@ -736,13 +721,26 @@ extensions_available:
type: builtin
build_dep: [libpq-dev]
run_dep: [libpq5]
psr:
disabled: [5.2, 5.3, 7.4, 8.0] # IMPORTANT: Required by PHP >= 7.2 by phalcon >=4.0 module
5.4:
type: pecl
version: 0.5.1
5.5:
type: pecl
version: 0.5.1
5.6:
type: pecl
version: 0.6.0 # NOTE: 0.6.1 fails with: Package "psr" Version "0.6.1" does not have REST xml available
all:
type: pecl
phalcon:
disabled: [5.2, 7.3, 7.4, 8.0] # TODO: currently disabled for 7.3 as it breaks
disabled: [5.2, 7.4, 8.0] # TODO: currently disabled for 7.4 as it breaks
5.3:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: phalcon-v2.0.9
command: cd build && ./install >/dev/null
command: cd build && ./install
5.4:
type: git
git_url: https://github.com/phalcon/cphalcon
@@ -751,22 +749,22 @@ extensions_available:
5.5:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: v3.4.2
git_ref: v3.4.4
command: cd build && ./install
5.6:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: v3.4.2
git_ref: v3.4.4
command: cd build && ./install
7.0:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: v3.4.2
git_ref: v3.4.4
command: cd build && ./install
7.1:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: v3.4.2
git_ref: v3.4.4
command: cd build && ./install
all:
type: git
@@ -862,9 +860,6 @@ extensions_available:
7.0:
type: pecl
version: 3.1.2
7.4:
type: pecl
version: 3.1.2
all:
type: pecl
build_dep: [librdkafka-dev]
@@ -960,7 +955,7 @@ extensions_available:
--enable-coroutine-postgresql \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
run_dep: [libnghttp2-14, libhiredis0.13]
run_dep: [libnghttp2-14, libhiredis0.14]
build_dep: [libnghttp2-dev, libssl-dev, libhiredis-dev, libpq-dev, cmake]
all:
type: pecl
@@ -994,12 +989,6 @@ extensions_available:
7.0:
type: builtin
run_dep: [libtidy5]
7.4:
type: builtin
run_dep: [libtidy5]
8.0:
type: builtin
run_dep: [libtidy5]
all:
type: builtin
build_dep: [libtidy-dev]
@@ -1051,7 +1040,7 @@ extensions_available:
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xdebug:
disabled: [7.4, 8.0]
disabled: [8.0]
5.2:
type: pecl
version: 2.2.7

View File

@@ -365,7 +365,7 @@ pip_available:
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
# pre: [optional] Run command before 'command:' statement
# command: Command to execute
# pre: [optional] Run command after 'command:' statement
# post: [optional] Run command after 'command:' statement
#
software_available:
# Composer is a dependency for others
@@ -429,6 +429,12 @@ software_available:
5.6:
command: curl -sS https://deployer.org/releases/v4.3.4/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep
7.0:
command: curl -sS https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep
7.1:
command: curl -sS https://deployer.org/releases/v6.7.0/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep
all:
command: curl -sS https://deployer.org/deployer.phar -L -o /usr/local/bin/dep
post: chmod +x /usr/local/bin/dep
@@ -502,21 +508,36 @@ software_available:
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v1.3.7 \
post:
ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel
5.5:
pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v2.0.0 \
post:
ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel
5.6:
pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v2.0.0 \
post:
ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel
7.0:
pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout v2.0.0 \
post:
ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel
7.1:
pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
&& cd /usr/local/src/laravel-installer \
&& git checkout $(git tag | grep '^v2\.3\.' | sort -u | tail -1) \
post:
ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel
all:
pre: |
git clone https://github.com/laravel/installer /usr/local/src/laravel-installer \
@@ -525,8 +546,9 @@ software_available:
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/laravel-installer \
&& su - ${MY_USER} -c 'PATH=/usr/local/bin:$PATH; cd /usr/local/src/laravel-installer && composer install --no-interaction --no-progress --no-dev' \
&& ln -s /usr/local/src/laravel-installer/laravel /usr/local/bin/laravel \
&& rm -rf /usr/local/src/laravel-installer/laravel/.git \
post:
ln -s /usr/local/src/laravel-installer/bin/laravel /usr/local/bin/laravel
linkcheck:
check: linkcheck --version | grep -E '^linkcheck\sv[.0-9]+'
all:
@@ -601,11 +623,60 @@ software_available:
&& ln -sf /usr/local/src/phalcon-devtools/phalcon.php /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
5.5:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
5.6:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
7.0:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
7.1:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout v3.4.11 \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
&& ln -sf /usr/local/src/phalcon-devtools/phalcon /usr/local/bin/phalcon \
&& chmod +x /usr/local/bin/phalcon \
&& cd / \
&& rm -rf /usr/local/src/phalcon-devtools/.git \
all:
pre: |
git clone https://github.com/phalcon/phalcon-devtools /usr/local/src/phalcon-devtools \
&& cd /usr/local/src/phalcon-devtools \
&& git checkout $(git describe --abbrev=0 --tags) \
&& composer install \
command: |
chown -R ${MY_USER}:${MY_GROUP} /usr/local/src/phalcon-devtools \
&& su - ${MY_USER} -c 'cd /usr/local/src/phalcon-devtools && ./phalcon.sh' \
@@ -727,6 +798,22 @@ software_available:
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \
7.4:
command: |
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \
8.0:
command: |
DEBIAN_FRONTEND=noninteractive apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
libfontenc1 libxfont2 xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils \
&& curl -sS -L -o /tmp/wkhtmltopdf.deb https://github.com/${VERSION} \
&& dpkg -i /tmp/wkhtmltopdf.deb \
&& rm -f /tmp/wkhtmltopdf.deb \
all:
pre: VERSION="$( curl -sSL https://github.com/wkhtmltopdf/wkhtmltopdf/releases | grep -Eo '/wkhtmltopdf/.+stretch_amd64\.deb' | head -1 )"
command: |

29
tests/mods/01-test-modules.sh Executable file
View File

@@ -0,0 +1,29 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
IMAGE="${1}"
VERSION="${2}"
FLAVOUR="${3}"
# shellcheck disable=SC1090
. "${CWD}/../.lib.sh"
# -------------------------------------------------------------------------------------------------
# Testing
# -------------------------------------------------------------------------------------------------
ERROR=0
for dir in $( ls -1 "${CWD}/modules/" ); do
if ! "${CWD}/modules.sh" "${IMAGE}" "${VERSION}" "${FLAVOUR}" "${dir}"; then
ERROR="$(( ERROR + 1 ))"
fi
done
exit "${ERROR}"

80
tests/mods/modules.sh Executable file
View File

@@ -0,0 +1,80 @@
#!/usr/bin/env bash
set -e
set -u
set -o pipefail
CWD="$(cd -P -- "$(dirname -- "$0")" && pwd -P)"
if [ "${#}" != "4" ]; then
>&2 echo "Error, requires 4 arguments: <IMAGE> <VERSION> <FLAVOUR> <MODULE>"
exit 1
fi
IMAGE="${1}"
VERSION="${2}"
FLAVOUR="${3}"
MODULE="${4}"
# shellcheck disable=SC1090
. "${CWD}/../.lib.sh"
SKIP_GD=("")
echo
echo "# ------------------------------------------------------------"
echo "# Testing: ${MODULE}"
echo "# ------------------------------------------------------------"
echo
# -------------------------------------------------------------------------------------------------
# Check skipping
# -------------------------------------------------------------------------------------------------
if [[ ${SKIP_GD[*]} =~ ${VERSION} ]]; then
echo "Skipping '${MODULE}' checks for PHP ${VERSION}"
exit 0
fi
# -------------------------------------------------------------------------------------------------
# Testing
# -------------------------------------------------------------------------------------------------
WORKDIR="/tmp/${MODULE}"
docker run \
--rm \
-e DEBUG_ENTRYPOINT=0 \
-e NEW_UID="$(id -u)" \
-e NEW_GID="$(id -g)" \
-v "${CWD}/modules/${MODULE}:${WORKDIR}" \
--entrypoint=sh \
--workdir="${WORKDIR}" \
"${IMAGE}:${VERSION}-${FLAVOUR}" \
-c 'find . -name "*.php" -type f -print0 | xargs -0 -n1 sh -c "
set -e
set -u
if [ -f \"\${1:-}\" ]; then
fail=0
printf \"[TEST] %s\" \"\${1}\"
if script -e -c \"php \${1}\" /dev/null 2>&1 | grep -Ei \"core|segmentation|fatal|except|err|warn|notice\" 2>&1 >/dev/null; then
fail=1
fi
if ! php \"\${1}\" 2>&1 | grep -E \"^(OK|SKIP)$\" 2>&1 >/dev/null; then
fail=1
fi
if [ \"\${fail}\" != \"0\" ]; then
printf \"\\r[FAIL] %s\\n\" \"\${1}\"
php \"\${1}\" || true
exit 1
else
printf \"\\r[OK] %s\\n\" \"\${1}\"
fi
fi
" --'

View File

@@ -0,0 +1,26 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$a = '1.234';
$b = '5';
$num1 = bcadd($a, $b); // 6
$num2 = bcadd($a, $b, 4); // 6.2340
if ($num1 != 6) {
echo 'FAIL: ' . $num1;
exit(1);
}
if ($num2 != 6.2340) {
echo 'FAIL: ' . $num2;
exit(1);
}
echo 'OK';

View File

@@ -0,0 +1,30 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$backend = 'aspell';
$tag = 'en_US';
if (($r = enchant_broker_init()) === FALSE) {
echo 'FAIL: enchant_broker_init()';
exit(1);
}
if (($bprovides = enchant_broker_describe($r)) === FALSE) {
echo 'FAIL: enchant_broker_describe()';
exit(1);
}
foreach ($bprovides as $be) {
if ($be['name'] == $backend) {
echo 'OK';
exit(0);
}
}
echo 'FAIL: "'. $backend . '" not available';
exit(1);

View File

@@ -0,0 +1,30 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$backend = 'hspell';
$tag = 'en_US';
if (($r = enchant_broker_init()) === FALSE) {
echo 'FAIL: enchant_broker_init()';
exit(1);
}
if (($bprovides = enchant_broker_describe($r)) === FALSE) {
echo 'FAIL: enchant_broker_describe()';
exit(1);
}
foreach ($bprovides as $be) {
if ($be['name'] == $backend) {
echo 'OK';
exit(0);
}
}
echo 'FAIL: "'. $backend . '" not available';
exit(1);

View File

@@ -0,0 +1,30 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$backend = 'ispell';
$tag = 'en_US';
if (($r = enchant_broker_init()) === FALSE) {
echo 'FAIL: enchant_broker_init()';
exit(1);
}
if (($bprovides = enchant_broker_describe($r)) === FALSE) {
echo 'FAIL: enchant_broker_describe()';
exit(1);
}
foreach ($bprovides as $be) {
if ($be['name'] == $backend) {
echo 'OK';
exit(0);
}
}
echo 'FAIL: "'. $backend . '" not available';
exit(1);

View File

@@ -0,0 +1,30 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$backend = 'myspell';
$tag = 'en_US';
if (($r = enchant_broker_init()) === FALSE) {
echo 'FAIL: enchant_broker_init()';
exit(1);
}
if (($bprovides = enchant_broker_describe($r)) === FALSE) {
echo 'FAIL: enchant_broker_describe()';
exit(1);
}
foreach ($bprovides as $be) {
if ($be['name'] == $backend) {
echo 'OK';
exit(0);
}
}
echo 'FAIL: "'. $backend . '" not available';
exit(1);

View File

@@ -0,0 +1,20 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$arr = gd_info();
if (!isset($arr['FreeType Support'])) {
echo 'FAIL: FreeType Support array key does not exist.';
exit(1);
}
if ($arr['FreeType Support'] !== TRUE) {
echo 'FAIL: No FreeType support.';
exit(1);
}
echo 'OK';

View File

@@ -0,0 +1,67 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
// Create a blank image and add some text
if ( ($im = imagecreatetruecolor(640, 480)) === FALSE ) {
echo 'FAIL: imagecreatetruecolor()';
exit(1);
}
// First we create our stamp image manually from GD
if ( ($stamp = imagecreatetruecolor(100, 70)) === FALSE ) {
echo 'FAIL: imagecreatetruecolor()';
exit(1);
}
if (!imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF)) {
echo 'FAIL: imagefilledrectangle()';
exit(1);
}
if (!imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF)) {
echo 'FAIL: imagefilledrectangle()';
exit(1);
}
if (!imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF)) {
echo 'FAIL: imagestring()';
exit(1);
}
if (!imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF)) {
echo 'FAIL: imagestring()';
exit(1);
}
// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Merge the stamp onto our photo with an opacity of 50%
if (!imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50)) {
echo 'FAIL: imagecopymerge()';
exit(1);
}
// Save the image to file and free memory
if (!imagejpeg($im, 'image.jpg')) {
echo 'FAIL: imagejpeg()';
exit(1);
}
if (!imagedestroy($im)) {
echo 'FAIL: imagedestroy()';
unlink('image.jpg');
exit(1);
}
// Remove image after test
unlink('image.jpg');
echo 'OK';

View File

@@ -0,0 +1,67 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
// Create a blank image and add some text
if ( ($im = imagecreatetruecolor(640, 480)) === FALSE ) {
echo 'FAIL: imagecreatetruecolor()';
exit(1);
}
// First we create our stamp image manually from GD
if ( ($stamp = imagecreatetruecolor(100, 70)) === FALSE ) {
echo 'FAIL: imagecreatetruecolor()';
exit(1);
}
if (!imagefilledrectangle($stamp, 0, 0, 99, 69, 0x0000FF)) {
echo 'FAIL: imagefilledrectangle()';
exit(1);
}
if (!imagefilledrectangle($stamp, 9, 9, 90, 60, 0xFFFFFF)) {
echo 'FAIL: imagefilledrectangle()';
exit(1);
}
if (!imagestring($stamp, 5, 20, 20, 'libGD', 0x0000FF)) {
echo 'FAIL: imagestring()';
exit(1);
}
if (!imagestring($stamp, 3, 20, 40, '(c) 2007-9', 0x0000FF)) {
echo 'FAIL: imagestring()';
exit(1);
}
// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Merge the stamp onto our photo with an opacity of 50%
if (!imagecopymerge($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp), 50)) {
echo 'FAIL: imagecopymerge()';
exit(1);
}
// Save the image to file and free memory
if (!imagepng($im, 'image.png')) {
echo 'FAIL: imagepng()';
exit(1);
}
if (!imagedestroy($im)) {
echo 'FAIL: imagedestroy()';
unlink('image.png');
exit(1);
}
// Remove image after test
unlink('image.png');
echo 'OK';

View File

@@ -0,0 +1,50 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
// Only available since 5.4.0
if (version_compare(PHP_VERSION, '5.4.0', '<')) {
echo 'SKIP';
exit(0);
}
// Create a blank image and add some text
if ( ($im = imagecreatetruecolor(120, 20)) === FALSE ) {
echo 'FAIL: imagecreatetruecolor()';
exit(1);
}
if ( ($text_color = imagecolorallocate($im, 233, 14, 91)) === FALSE ) {
echo 'FAIL: imagecolorallocate()';
exit(1);
}
if (!imagestring($im, 1, 5, 5, 'WebP with PHP', $text_color)) {
echo 'FAIL: imagestring()';
exit(1);
}
// Save the image
if (!imagewebp($im, 'image.webp')) {
echo 'FAIL: imagewebp()';
exit(1);
}
// Free up memory
if (!imagedestroy($im)) {
echo 'FAIL: imagedestroy()';
unlink('image.webp');
exit(1);
}
// Remove image after test
unlink('image.webp');
echo 'OK';

View File

@@ -0,0 +1,16 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
// Check for XPM support
// https://www.php.net/manual/en/function.imagetypes.php
if (!(imagetypes() & IMG_XPM)) {
echo 'FAIL: No XMP support';
exit(1);
}
echo 'OK';

View File

@@ -0,0 +1,52 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults)
if (version_compare($PHP_VERSION, '5.6.0', '<')) {
echo 'SKIP';
exit(0);
}
// FIXME: Currently not supported on PHP 8
if (version_compare($PHP_VERSION, '8.0.0', '>=')) {
echo 'SKIP';
exit(0);
}
/* Set width and height in proportion of genuine PHP logo */
$width = 400;
$height = 210;
/* Create an Imagick object with transparent canvas */
$img = new Imagick();
if ($img->newImage($width, $height, new ImagickPixel('transparent')) !== TRUE) {
echo 'FAIL: newImage()';
exit(1);
}
/* New ImagickDraw instance for ellipse draw */
$draw = new ImagickDraw();
/* Set purple fill color for ellipse */
$draw->setFillColor('#777bb4');
/* Set ellipse dimensions */
$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);
/* Draw ellipse onto the canvas */
$img->drawImage($draw);
/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */
$draw->setFillColor('black');
if ($img->setImageFormat('jpeg') !== TRUE) {
echo 'FAIL: setImageFormat()';
exit(1);
}
echo 'OK';

View File

@@ -0,0 +1,52 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Only available since 5.3.0 (PHP 5.3, 5.4 and 5.5 segfaults)
if (version_compare($PHP_VERSION, '5.6.0', '<')) {
echo 'SKIP';
exit(0);
}
// FIXME: Currently not supported on PHP 8
if (version_compare($PHP_VERSION, '8.0.0', '>=')) {
echo 'SKIP';
exit(0);
}
/* Set width and height in proportion of genuine PHP logo */
$width = 400;
$height = 210;
/* Create an Imagick object with transparent canvas */
$img = new Imagick();
if ($img->newImage($width, $height, new ImagickPixel('transparent')) !== TRUE) {
echo 'FAIL: newImage()';
exit(1);
}
/* New ImagickDraw instance for ellipse draw */
$draw = new ImagickDraw();
/* Set purple fill color for ellipse */
$draw->setFillColor('#777bb4');
/* Set ellipse dimensions */
$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);
/* Draw ellipse onto the canvas */
$img->drawImage($draw);
/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */
$draw->setFillColor('black');
if ($img->setImageFormat('png') !== TRUE) {
echo 'FAIL: setImageFormat()';
exit(1);
}
echo 'OK';

View File

@@ -0,0 +1,60 @@
<?php
/**
* This page should print 'OK' if everything works,
* 'FAIL' or nothing if an error occured.
*/
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$PHP_VERSION = str_replace('-dev', '', PHP_VERSION);
// Web support only since 7.2+
if (version_compare($PHP_VERSION, '7.1.0', '<=')) {
echo 'SKIP';
exit(0);
}
// FIXME: Currently not supported on PHP 8
if (version_compare($PHP_VERSION, '8.0.0', '>=')) {
echo 'SKIP';
exit(0);
}
/* Set width and height in proportion of genuine PHP logo */
$width = 400;
$height = 210;
/* Create an Imagick object with transparent canvas */
$img = new Imagick();
if ($img->newImage($width, $height, new ImagickPixel('transparent')) !== TRUE) {
echo 'FAIL: newImage()';
exit(1);
}
/* New ImagickDraw instance for ellipse draw */
$draw = new ImagickDraw();
/* Set purple fill color for ellipse */
$draw->setFillColor('#777bb4');
/* Set ellipse dimensions */
$draw->ellipse($width / 2, $height / 2, $width / 2, $height / 2, 0, 360);
/* Draw ellipse onto the canvas */
$img->drawImage($draw);
/* Reset fill color from purple to black for text (note: we are reusing ImagickDraw object) */
$draw->setFillColor('black');
if ($img->setImageFormat('webp') !== TRUE) {
echo 'FAIL: setImageFormat()';
exit(1);
}
if ($img->setImageAlphaChannel(imagick::ALPHACHANNEL_ACTIVATE) !== TRUE) {
echo 'FAIL: setImageAlphaChannel()';
exit(1);
}
if ($img->setBackgroundColor(new ImagickPixel('transparent')) !== TRUE) {
echo 'FAIL: setBackgroundColor()';
exit(1);
}
echo 'OK';