mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-15 21:41:15 +00:00
Fix mod images
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead.
|
||||
{{ edit_comment_base }}
|
||||
{% if php_version == 5.2 %}
|
||||
FROM devilbox/php-fpm-5.2
|
||||
{% elif php_version == 5.3 %}
|
||||
@@ -16,12 +16,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-base" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||
#LABEL "org.opencontainers.image.created"=""
|
||||
#LABEL "org.opencontainers.image.version"=""
|
||||
#LABEL "org.opencontainers.image.revision"=""
|
||||
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||
LABEL "org.opencontainers.image.ref.name"="{{ php_version }}-base"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-base"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-base"
|
||||
|
||||
|
||||
###
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
||||
FROM devilbox/php-fpm:{{ php_version }}-base
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
{{ edit_comment_mods }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-base as builder
|
||||
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-mods" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
|
||||
|
||||
###
|
||||
### Envs
|
||||
###
|
||||
ENV BUILD_DEPS \
|
||||
{# Loop over enabled build dependencies -#}
|
||||
{#
|
||||
###################################################################################################
|
||||
Loop over enabled build dependencies and gather build dependencies
|
||||
###################################################################################################
|
||||
#}
|
||||
{%- set build_deps = [] -%}
|
||||
{%- for ext in extensions_enabled -%}
|
||||
{#- Not disabled AND not already available by default -#}
|
||||
@@ -39,13 +27,312 @@ ENV BUILD_DEPS \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -eux \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
{% for build_dep in build_deps | unique | sort %}
|
||||
{{ build_dep }} \
|
||||
{{ build_dep }} \
|
||||
{% endfor %}
|
||||
ca-certificates \
|
||||
git
|
||||
ca-certificates \
|
||||
git
|
||||
|
||||
ENV RUN_DEPS \
|
||||
|
||||
# Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr)
|
||||
RUN set -eux \
|
||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini
|
||||
|
||||
|
||||
###
|
||||
### Install and enable PHP modules
|
||||
###
|
||||
# Enable ffi if it exists
|
||||
RUN set -eux \
|
||||
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini ]; then \
|
||||
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
||||
fi
|
||||
|
||||
{# Loop over enabled extensions #}
|
||||
{% for ext in extensions_enabled %}
|
||||
{#-
|
||||
###############################################################################################
|
||||
# Not disabled AND not already enabled
|
||||
###############################################################################################
|
||||
-#}
|
||||
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||
# -------------------- Installing PHP Extension: {{ ext }} --------------------
|
||||
RUN set -eux \
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# PRE COMMAND
|
||||
# --------------------------------------------------------------------------------
|
||||
-#}
|
||||
{#- Version specific pre-command available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Version specific pre-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['pre'] }} \
|
||||
{#- Generic pre-command available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
|
||||
{{- "\n\t" }}# Generic pre-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['pre'] }} \
|
||||
{%- endif -%}
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# INSTALLATION (VERSION SPECIFIC)
|
||||
# --------------------------------------------------------------------------------
|
||||
#}
|
||||
{%- if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Installation: Version specific
|
||||
{#-
|
||||
# -------------------- 1.) Builtin --------------------
|
||||
-#}
|
||||
{%- if extensions_available[ext][php_version]['type'] == 'builtin' -%}
|
||||
{{- "\n\t" }}# Type: Built-in extension
|
||||
{%- if 'configure' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: configure command
|
||||
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Installation
|
||||
{{- "\n\t" }}&& docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 2.) PECL --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext][php_version]['type'] == 'pecl' -%}
|
||||
{{- "\n\t" }}# Type: PECL extension
|
||||
{%- if 'command' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: Pecl command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Pecl command
|
||||
{{- "\n\t" }}&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 3.) GIT --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext][php_version]['type'] == 'git' -%}
|
||||
{{- "\n\t" }}# Type: GIT extension
|
||||
{{- "\n\t" }}&& git clone {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
|
||||
{{- "\n\t" }}&& cd /tmp/{{ ext }} \
|
||||
{%- if 'git_ref' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: Branch
|
||||
{{- "\n\t" }}&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
|
||||
{%- endif -%}
|
||||
{%- if 'command' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Custom: Install command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Install command
|
||||
{{- "\n\t" }}&& phpize \
|
||||
{{- "\n\t" }}&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
|
||||
{{- "\n\t" }}&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
{{- "\n\t" }}&& make install \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 4.) CUSTOM --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext][php_version]['type'] == 'custom' -%}
|
||||
{{- "\n\t" }}# Type: Custom extension
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{%- endif -%}
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# INSTALLATION (GENERIC)
|
||||
# --------------------------------------------------------------------------------
|
||||
#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Installation: Generic
|
||||
{#-
|
||||
# -------------------- 1.) Builtin --------------------
|
||||
-#}
|
||||
{%- if extensions_available[ext]['all']['type'] == 'builtin' -%}
|
||||
{{- "\n\t" }}# Type: Built-in extension
|
||||
{%- if 'configure' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: configure command
|
||||
{{- "\n\t" }}&& docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}&& docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 2.) PECL --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext]['all']['type'] == 'pecl' -%}
|
||||
{{- "\n\t" }}# Type: PECL extension
|
||||
{%- if 'command' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: Pecl command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Pecl command
|
||||
{{- "\n\t" }}&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 2.) GIT --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext]['all']['type'] == 'git' -%}
|
||||
{{- "\n\t" }}# Type: GIT extension
|
||||
{{- "\n\t" }}&& git clone {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
|
||||
{{- "\n\t" }}&& cd /tmp/{{ ext }} \
|
||||
{%- if 'git_ref' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: Branch
|
||||
{{- "\n\t" }}&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
|
||||
{%- endif -%}
|
||||
{%- if 'command' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Custom: Install command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}# Default: Install command
|
||||
{{- "\n\t" }}&& phpize \
|
||||
{{- "\n\t" }}&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
|
||||
{{- "\n\t" }}&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
{{- "\n\t" }}&& make install \
|
||||
{%- endif -%}
|
||||
{{- "\n\t" }}# Enabling
|
||||
{{- "\n\t" }}&& docker-php-ext-enable {{ ext }} \
|
||||
{#-
|
||||
# -------------------- 4.) CUSTOM --------------------
|
||||
-#}
|
||||
{%- elif extensions_available[ext]['all']['type'] == 'custom' -%}
|
||||
{{- "\n\t" }}# Type: Custom extension
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{#-
|
||||
# --------------------------------------------------------------------------------
|
||||
# POST COMMAND
|
||||
# --------------------------------------------------------------------------------
|
||||
-#}
|
||||
{#- Version specific post-command available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'post' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Version specific post-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext][php_version]['post'] }} \
|
||||
{#- Generic post-command available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'post' in extensions_available[ext]['all'] %}
|
||||
{{- "\n\t" }}# Generic post-command
|
||||
{{- "\n\t" }}&& {{ extensions_available[ext]['all']['post'] }} \
|
||||
{%- endif -%}
|
||||
{#- End of: Not disabled AND not already enabled -#}
|
||||
{%- endif -%}
|
||||
{#-
|
||||
###############################################################################################
|
||||
# Ensure modules that are not disabled have an appropriate ini directive and are loaded
|
||||
###############################################################################################
|
||||
-#}
|
||||
{%- if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) -%}
|
||||
{%- if php_version in extensions_available[ext] and 'load_ext' in extensions_available[ext][php_version] -%}
|
||||
{{- "\n\t" }}# Activate: Version specific extension
|
||||
{{- "\n\t" }}&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then \
|
||||
{{- "\n\t" }} echo "extension={{ extensions_available[ext][php_version]['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; \
|
||||
{{- "\n\t" }}fi \
|
||||
{%- elif 'all' in extensions_available[ext] and 'load_ext' in extensions_available[ext]['all'] -%}
|
||||
{{- "\n\t" }}# Activate: Generic extension
|
||||
{{- "\n\t" }}&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then \
|
||||
{{- "\n\t" }} echo "extenstion={{ extensions_available[ext]['all']['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; \
|
||||
{{- "\n\t" }}fi \
|
||||
{%- endif -%}
|
||||
{%- endif %}
|
||||
{#-
|
||||
###############################################################################################
|
||||
# Test extensions
|
||||
###############################################################################################
|
||||
-#}
|
||||
{#- Not disabled #}
|
||||
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||
{%- if build_fail_fast -%}
|
||||
{{- "\n\t" }}# ---- Test extension ----
|
||||
{{- "\n\t" }}&& /usr/local/sbin/php-fpm --test \
|
||||
{{- "\n\t" }}\
|
||||
{{- "\n\t" }}&& (php -v 2>&1 1>/dev/null || true) \
|
||||
{{- "\n\t" }}&& PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}&& PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}\
|
||||
{{- "\n\t" }}&& (php-fpm -v 2>&1 1>/dev/null || true) \
|
||||
{{- "\n\t" }}&& PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}&& PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \
|
||||
{{- "\n\t" }}&& if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \
|
||||
{{- "\n\t" }}\
|
||||
{%- if ext == 'opcache' -%}
|
||||
{{- "\n\t" }}&& php -m | grep -oiE '^Zend Opcache$' \
|
||||
{{- "\n\t" }}&& php-fpm -m | grep -oiE '^Zend Opcache$'
|
||||
{%- elif ext == 'readline' -%}
|
||||
{{- "\n\t" }}&& php -m | grep -oiE '^readline$'
|
||||
{%- elif ext not in ['blackfire', 'ioncube'] -%}
|
||||
{{- "\n\t" }}&& php -m | grep -oiE '^{{ ext }}$' \
|
||||
{{- "\n\t" }}&& php-fpm -m | grep -oiE '^{{ ext }}$'
|
||||
{%- else %}
|
||||
{{- "\n\t" }}&& true
|
||||
{%- endif %}
|
||||
{{- "\n\n\n" }}
|
||||
{%- else -%}
|
||||
{{- "\n\t" }}&& true{{ "\n\n\n" }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
|
||||
|
||||
# Fix php.ini settings for enabled extensions
|
||||
RUN set -eux \
|
||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/*
|
||||
|
||||
# Fix oracle dir for images that don't have oci installed
|
||||
RUN set -eux \
|
||||
&& mkdir -p /usr/lib/oracle/
|
||||
|
||||
# Shrink everything down
|
||||
RUN set -eux \
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
|
||||
|
||||
{{ edit_comment_mods }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-base as final
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||
#LABEL "org.opencontainers.image.created"=""
|
||||
#LABEL "org.opencontainers.image.version"=""
|
||||
#LABEL "org.opencontainers.image.revision"=""
|
||||
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||
LABEL "org.opencontainers.image.ref.name"="{{ php_version }}-mods"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-mods"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-mods"
|
||||
|
||||
|
||||
###
|
||||
### Copy artifacts from builder
|
||||
###
|
||||
ARG EXT_DIR
|
||||
COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/
|
||||
COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/
|
||||
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -eux \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
{# Loop over enabled run-time dependencies -#}
|
||||
{%- set run_deps = [] -%}
|
||||
{%- for ext in extensions_enabled -%}
|
||||
@@ -69,145 +356,44 @@ ENV RUN_DEPS \
|
||||
{% for run_dep in run_deps | unique | sort %}
|
||||
{{ run_dep }} \
|
||||
{% endfor %}
|
||||
ca-certificates
|
||||
|
||||
|
||||
###
|
||||
### Install
|
||||
###
|
||||
RUN set -x \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get update -qq \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \
|
||||
${BUILD_DEPS} \
|
||||
\
|
||||
\
|
||||
{# Loop over enabled extensions #}
|
||||
{% for ext in extensions_enabled %}
|
||||
{# Not disabled AND not already enabled #}
|
||||
{% if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||
# ---- Installing PHP Extension: {{ ext }} ----
|
||||
{# ---------- Pre Command ---------- #}
|
||||
{# Version specific pre-command available? #}
|
||||
{% if php_version in extensions_available[ext] and 'pre' in extensions_available[ext][php_version] %}
|
||||
&& {{ extensions_available[ext][php_version]['pre'] }} \
|
||||
{# Generic pre-command available? #}
|
||||
{% elif 'all' in extensions_available[ext] and 'pre' in extensions_available[ext]['all'] %}
|
||||
&& {{ extensions_available[ext]['all']['pre'] }} \
|
||||
{% endif %}
|
||||
{# ---------- Installation (specific) ---------- #}
|
||||
{% if php_version in extensions_available[ext] and 'type' in extensions_available[ext][php_version] %}
|
||||
{# ---- 1.) Builtin ---- #}
|
||||
{% if extensions_available[ext][php_version]['type'] == 'builtin' %}
|
||||
{% if 'configure' in extensions_available[ext][php_version] %}
|
||||
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext][php_version]['configure'] }} \
|
||||
{% endif %}
|
||||
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||
{# ---- 2.) PECL ---- #}
|
||||
{% elif extensions_available[ext][php_version]['type'] == 'pecl' %}
|
||||
{% if 'command' in extensions_available[ext][php_version] %}
|
||||
&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{% else %}
|
||||
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext][php_version] %}-{{ extensions_available[ext][php_version]['version'] }}{% endif %} \
|
||||
{% endif %}
|
||||
&& docker-php-ext-enable {{ ext }} \
|
||||
{# ---- 3.) GIT ---- #}
|
||||
{% elif extensions_available[ext][php_version]['type'] == 'git' %}
|
||||
&& git clone {{ extensions_available[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
|
||||
&& cd /tmp/{{ ext }} \
|
||||
{% if 'git_ref' in extensions_available[ext][php_version] %}
|
||||
&& git checkout {{ extensions_available[ext][php_version]['git_ref'] }} \
|
||||
{% endif %}
|
||||
{% if 'command' in extensions_available[ext][php_version] %}
|
||||
&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{% else %}
|
||||
&& phpize \
|
||||
&& ./configure {% if 'configure' in extensions_available[ext][php_version] %} {{ extensions_available[ext][php_version]['configure'] }}{% endif %} \
|
||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
&& make install \
|
||||
{% endif %}
|
||||
&& docker-php-ext-enable {{ ext }} \
|
||||
{# ---- 4.) CUSTOM ---- #}
|
||||
{% elif extensions_available[ext][php_version]['type'] == 'custom' %}
|
||||
&& {{ extensions_available[ext][php_version]['command'] }} \
|
||||
{% endif %}
|
||||
{# ---------- Installation (generic) ---------- #}
|
||||
{% elif 'all' in extensions_available[ext] and 'type' in extensions_available[ext]['all'] %}
|
||||
{# ---- 1.) Builtin ---- #}
|
||||
{% if extensions_available[ext]['all']['type'] == 'builtin' %}
|
||||
{% if 'configure' in extensions_available[ext]['all'] %}
|
||||
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ extensions_available[ext]['all']['configure'] }} \
|
||||
{% endif %}
|
||||
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
|
||||
{# ---- 2.) PECL ---- #}
|
||||
{% elif extensions_available[ext]['all']['type'] == 'pecl' %}
|
||||
{% if 'command' in extensions_available[ext]['all'] %}
|
||||
&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{% else %}
|
||||
&& pecl install {{ ext }}{% if 'version' in extensions_available[ext]['all'] %}-{{ extensions_available[ext]['all']['version'] }}{% endif %} \
|
||||
{% endif %}
|
||||
&& docker-php-ext-enable {{ ext }} \
|
||||
{# ---- 3.) GIT ---- #}
|
||||
{% elif extensions_available[ext]['all']['type'] == 'git' %}
|
||||
&& git clone {{ extensions_available[ext]['all']['git_url'] }} /tmp/{{ ext }} \
|
||||
&& cd /tmp/{{ ext }} \
|
||||
{% if 'git_ref' in extensions_available[ext]['all'] %}
|
||||
&& git checkout {{ extensions_available[ext]['all']['git_ref'] }} \
|
||||
{% endif %}
|
||||
{% if 'command' in extensions_available[ext]['all'] %}
|
||||
&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{% else %}
|
||||
&& phpize \
|
||||
&& ./configure {% if 'configure' in extensions_available[ext]['all'] %} {{ extensions_available[ext]['all']['configure'] }}{% endif %} \
|
||||
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
||||
&& make install \
|
||||
{% endif %}
|
||||
&& docker-php-ext-enable {{ ext }} \
|
||||
{# ---- 4.) CUSTOM ---- #}
|
||||
{% elif extensions_available[ext]['all']['type'] == 'custom' %}
|
||||
&& {{ extensions_available[ext]['all']['command'] }} \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{# Only delete files for extensions we've actually installed, not those that were already available by default #}
|
||||
&& (rm -rf /usr/local/lib/php/test/{{ ext }} || true) \
|
||||
&& (rm -rf /usr/local/lib/php/doc/{{ ext }} || true) \
|
||||
\
|
||||
{% endif %}
|
||||
{# Ensure modules that are not disabled have an appropriate ini directive and are loaded #}
|
||||
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
|
||||
{% if php_version in extensions_available[ext] and 'load_ext' in extensions_available[ext][php_version] %}
|
||||
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extension={{ extensions_available[ext][php_version]['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
|
||||
{% elif 'all' in extensions_available[ext] and 'load_ext' in extensions_available[ext]['all'] %}
|
||||
&& if [ ! -f "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini" ]; then echo "extenstion={{ extensions_available[ext]['all']['load_ext'] }}" > "/usr/local/etc/php/conf.d/docker-php-ext-{{ ext }}.ini"; fi \
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{# Fix php.ini settings for enabled extensions #}
|
||||
&& if [ -f /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini ]; then \
|
||||
echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \
|
||||
fi \
|
||||
{# /Fix php.ini settings for enabled extensions #}
|
||||
&& chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* \
|
||||
&& rm -rf /tmp/* \
|
||||
\
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false ${BUILD_DEPS} \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests ${RUN_DEPS} \
|
||||
&& DEBIAN_FRONTEND=noninteractive apt-get purge -qq -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false apt-utils \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
\
|
||||
&& update-ca-certificates \
|
||||
\
|
||||
&& (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \
|
||||
&& (find "$(php -r 'echo ini_get("extension_dir");')" -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
&& update-ca-certificates
|
||||
|
||||
|
||||
###
|
||||
### Post Install
|
||||
###
|
||||
{# Loop over enabled extensions #}
|
||||
{%- set post_commands = {} -%}
|
||||
{% for ext in extensions_enabled %}
|
||||
{%- if (('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled'])) and ('already_avail' not in extensions_available[ext] or php_version not in extensions_available[ext]['already_avail']) %}
|
||||
{#- Version specific post-command available? -#}
|
||||
{%- if php_version in extensions_available[ext] and 'post' in extensions_available[ext][php_version] -%}
|
||||
{{- post_commands.update({ext: extensions_available[ext][php_version]['post']}) -}}
|
||||
{#- Generic post-command available? -#}
|
||||
{%- elif 'all' in extensions_available[ext] and 'post' in extensions_available[ext]['all'] %}
|
||||
{{- post_commands.update({ext: extensions_available[ext]['all']['post']}) -}}
|
||||
{%- endif -%}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
|
||||
{% if post_commands | length > 0 -%}
|
||||
RUN set -eux \
|
||||
{%- for ext in post_commands -%}
|
||||
{{- "\n\t" }}# ---------- {{ ext }} ----------
|
||||
{{- "\n\t" }}&& {{ post_commands[ext] }} \
|
||||
{%- endfor -%}
|
||||
{{- "\n\t" }}&& true{{- "\n\n\n" }}
|
||||
{%- endif -%}
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### Verify
|
||||
###
|
||||
RUN set -x \
|
||||
RUN set -eux \
|
||||
&& echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \
|
||||
&& php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^{{ php_version }}' \
|
||||
&& /usr/local/sbin/php-fpm --test \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead.
|
||||
{{ edit_comment_prod }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-mods
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-prod" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||
#LABEL "org.opencontainers.image.created"=""
|
||||
#LABEL "org.opencontainers.image.version"=""
|
||||
#LABEL "org.opencontainers.image.revision"=""
|
||||
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||
LABEL "org.opencontainers.image.ref.name"="{{ php_version }}-prod"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-prod"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-prod"
|
||||
|
||||
|
||||
###
|
||||
@@ -40,7 +48,6 @@ RUN set -x \
|
||||
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true)
|
||||
|
||||
|
||||
|
||||
{% if debug %}
|
||||
###
|
||||
### Verify
|
||||
@@ -79,7 +86,6 @@ VOLUME /var/log/php
|
||||
VOLUME /var/mail
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Ports
|
||||
###
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead.
|
||||
{{ edit_comment_work }}
|
||||
FROM devilbox/php-fpm:{{ php_version }}-prod
|
||||
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
|
||||
@@ -6,12 +6,20 @@ MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
||||
###
|
||||
### Labels
|
||||
###
|
||||
LABEL \
|
||||
name="cytopia's PHP-FPM {{ php_version }} Image" \
|
||||
image="devilbox/php-fpm" \
|
||||
tag="{{ php_version }}-work" \
|
||||
vendor="devilbox" \
|
||||
license="MIT"
|
||||
# https://github.com/opencontainers/image-spec/blob/master/annotations.md
|
||||
#LABEL "org.opencontainers.image.created"=""
|
||||
#LABEL "org.opencontainers.image.version"=""
|
||||
#LABEL "org.opencontainers.image.revision"=""
|
||||
LABEL "maintainer"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
||||
LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm"
|
||||
LABEL "org.opencontainers.image.vendor"="devilbox"
|
||||
LABEL "org.opencontainers.image.licenses"="MIT"
|
||||
LABEL "org.opencontainers.image.ref.name"="{{ php_version }}-work"
|
||||
LABEL "org.opencontainers.image.title"="PHP-FPM {{ php_version }}-work"
|
||||
LABEL "org.opencontainers.image.description"="PHP-FPM {{ php_version }}-work"
|
||||
|
||||
|
||||
###
|
||||
@@ -415,7 +423,6 @@ COPY ./data/bash-devilbox /etc/bash-devilbox
|
||||
COPY ./data/sudo-devilbox /etc/sudoers.d/devilbox
|
||||
|
||||
|
||||
|
||||
###
|
||||
### Volumes
|
||||
###
|
||||
|
||||
@@ -1,14 +1,22 @@
|
||||
---
|
||||
###################################################################################################
|
||||
# Ansible specifi definitions
|
||||
# Ansible specific definitions
|
||||
###################################################################################################
|
||||
|
||||
edit_comment_base: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-base.j2 instead."
|
||||
edit_comment_mods: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead."
|
||||
edit_comment_prod: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-prod.j2 instead."
|
||||
edit_comment_work: "# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-work.j2 instead."
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Adds version checks to Dockerfile
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
debug: True
|
||||
|
||||
# Also implement checks in builder images (slow, but fails faster)
|
||||
build_fail_fast: True
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Available PHP versions (see inventory)
|
||||
|
||||
@@ -118,6 +118,7 @@ extensions_enabled:
|
||||
#
|
||||
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
|
||||
# pre: [optional] Run command before anything else
|
||||
# post: [optional] Run command after anything else (builder and final image)
|
||||
# build_dep: [optional] Array of build dependencies
|
||||
# run_dep: [optional] Array of run-time dependencies
|
||||
# type: [required] One of 'builtin', 'pecl' or 'git'
|
||||
@@ -278,9 +279,11 @@ extensions_available:
|
||||
type: builtin
|
||||
pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
|
||||
configure: --with-gd --with-vpx-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 --enable-gd-native-ttf
|
||||
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
|
||||
7.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 --enable-gd-native-ttf
|
||||
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
|
||||
7.1:
|
||||
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 --enable-gd-native-ttf
|
||||
@@ -293,15 +296,17 @@ extensions_available:
|
||||
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]
|
||||
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]
|
||||
all:
|
||||
type: builtin
|
||||
pre: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
|
||||
configure: --with-gd --with-vpx-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 --enable-gd-native-ttf
|
||||
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
|
||||
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6]
|
||||
run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx5, libfreetype6, libwebp6]
|
||||
gettext:
|
||||
all:
|
||||
type: builtin
|
||||
@@ -346,10 +351,16 @@ extensions_available:
|
||||
5.5:
|
||||
type: pecl
|
||||
run_dep: [libmagickwand-6.q16-2]
|
||||
5.6:
|
||||
type: pecl
|
||||
run_dep: [libmagickwand-6.q16-3]
|
||||
7.0:
|
||||
type: pecl
|
||||
run_dep: [libmagickwand-6.q16-3]
|
||||
all:
|
||||
type: pecl
|
||||
build_dep: [libmagickwand-dev]
|
||||
run_dep: [libmagickwand-6.q16-3]
|
||||
run_dep: [libmagickwand-6.q16-6]
|
||||
imap:
|
||||
disabled: [7.4, 8.0] # TODO: re-enable. currently fails with: configure: error: OpenSSL libraries not found.
|
||||
all:
|
||||
@@ -377,10 +388,22 @@ extensions_available:
|
||||
5.5:
|
||||
type: builtin
|
||||
run_dep: [libicu52]
|
||||
5.6:
|
||||
type: builtin
|
||||
run_dep: [libicu57]
|
||||
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: [libicu57]
|
||||
run_dep: [libicu63]
|
||||
ioncube:
|
||||
disabled: [7.3, 7.4, 8.0]
|
||||
all:
|
||||
@@ -495,11 +518,15 @@ extensions_available:
|
||||
5.4:
|
||||
type: pecl
|
||||
version: 1.2.11
|
||||
5.5:
|
||||
type: pecl
|
||||
version: 1.5.5
|
||||
8.0:
|
||||
type: git
|
||||
git_url: https://github.com/mongodb/mongo-php-driver
|
||||
command: |
|
||||
git submodule update --init \
|
||||
git checkout v1.6 \
|
||||
&& git submodule update --init \
|
||||
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
|
||||
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
|
||||
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
|
||||
@@ -511,6 +538,18 @@ extensions_available:
|
||||
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' php_phongo.c \
|
||||
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' phongo_compat.h \
|
||||
&& sed -i'' 's/TSRMLS_FETCH();/\/\/TSRMLS_FETCH();/g' src/bson.c \
|
||||
\
|
||||
&& sed -i'' 's/php_phongo_handler_binary.compare_objects.*//g' src/BSON/Binary.c \
|
||||
&& sed -i'' 's/php_phongo_handler_dbpointer.compare_objects.*//g' src/BSON/DBPointer.c \
|
||||
&& sed -i'' 's/php_phongo_handler_int64.compare_objects.*//g' src/BSON/Int64.c \
|
||||
&& sed -i'' 's/php_phongo_handler_javascript.compare_objects.*//g' src/BSON/Javascript.c \
|
||||
&& sed -i'' 's/php_phongo_handler_objectid.compare_objects.*//g' src/BSON/ObjectId.c \
|
||||
&& sed -i'' 's/php_phongo_handler_symbol.compare_objects.*//g' src/BSON/Symbol.c \
|
||||
&& sed -i'' 's/php_phongo_handler_timestamp.compare_objects.*//g' src/BSON/Timestamp.c \
|
||||
&& sed -i'' 's/php_phongo_handler_regex.compare_objects.*//g' src/BSON/Regex.c \
|
||||
&& sed -i'' 's/php_phongo_handler_server.compare_objects.*//g' src/MongoDB/Server.c \
|
||||
&& sed -i'' 's/php_phongo_handler_utcdatetime.compare_objects.*//g' src/BSON/UTCDateTime.c \
|
||||
\
|
||||
&& phpize \
|
||||
&& ./configure --enable-mongodb \
|
||||
&& make all \
|
||||
@@ -592,9 +631,13 @@ extensions_available:
|
||||
&& alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \
|
||||
&& (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||
build_dep: [alien, libaio-dev]
|
||||
run_dep: [libaio1]
|
||||
post: |
|
||||
ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \
|
||||
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
|
||||
&& ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \
|
||||
&& (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \
|
||||
odbc:
|
||||
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
|
||||
opcache:
|
||||
@@ -745,6 +788,7 @@ extensions_available:
|
||||
readline:
|
||||
already_avail: "{{ php_all_versions }}"
|
||||
recode:
|
||||
disabled: [7.4, 8.0]
|
||||
already_avail: [5.3, 5.4]
|
||||
all:
|
||||
type: builtin
|
||||
@@ -754,6 +798,18 @@ extensions_available:
|
||||
5.2:
|
||||
type: pecl
|
||||
version: 2.2.7
|
||||
5.3:
|
||||
type: pecl
|
||||
version: 4.3.0
|
||||
5.4:
|
||||
type: pecl
|
||||
version: 4.3.0
|
||||
5.5:
|
||||
type: pecl
|
||||
version: 4.3.0
|
||||
5.6:
|
||||
type: pecl
|
||||
version: 4.3.0
|
||||
7.4:
|
||||
type: git
|
||||
git_url: https://github.com/phpredis/phpredis
|
||||
@@ -800,6 +856,15 @@ extensions_available:
|
||||
5.5:
|
||||
type: pecl
|
||||
version: 3.0.5
|
||||
5.6:
|
||||
type: pecl
|
||||
version: 3.1.2
|
||||
7.0:
|
||||
type: pecl
|
||||
version: 3.1.2
|
||||
7.4:
|
||||
type: pecl
|
||||
version: 3.1.2
|
||||
all:
|
||||
type: pecl
|
||||
build_dep: [librdkafka-dev]
|
||||
@@ -862,6 +927,9 @@ extensions_available:
|
||||
5.6:
|
||||
type: pecl
|
||||
version: 1.9.23
|
||||
7.0:
|
||||
type: pecl
|
||||
version: 4.2.13
|
||||
7.3:
|
||||
type: git
|
||||
git_url: https://github.com/swoole/swoole-src
|
||||
@@ -876,7 +944,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]
|
||||
7.4:
|
||||
type: git
|
||||
@@ -920,10 +988,22 @@ extensions_available:
|
||||
5.5:
|
||||
type: builtin
|
||||
run_dep: [libtidy-0.99-0]
|
||||
5.6:
|
||||
type: builtin
|
||||
run_dep: [libtidy5]
|
||||
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]
|
||||
run_dep: [libtidy5]
|
||||
run_dep: [libtidy5deb1]
|
||||
tokenizer:
|
||||
already_avail: "{{ php_all_versions }}"
|
||||
uploadprogress:
|
||||
|
||||
Reference in New Issue
Block a user