Add more PHP extensions

This commit is contained in:
cytopia
2018-02-25 14:45:04 +01:00
parent a6fe8167b3
commit d35de6c6cb
9 changed files with 6656 additions and 2555 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -16,7 +16,7 @@
<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, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, 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, 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, imagick, imap, interbase, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysql, mysqli, mysqlnd, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, 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>

View File

@@ -18,132 +18,43 @@ LABEL \
### Envs
###
ENV BUILD_DEPS \
{# ---- PHP Built-in Extensions ---- #}
{% for ext in php_builtin_extensions.keys() %}
{# Enabled #}
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
{# Version specific build_deps available #}
{% if php_version in php_builtin_extensions[ext] and 'build_dep' in php_builtin_extensions[ext][php_version] %}
{% for dep in php_builtin_extensions[ext][php_version]['build_dep'] %}
{{ dep }} \
{# Loop over enabled build dependencies #}
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{# Version specific build dependency available? #}
{% if php_version in extensions_available[ext] and 'build_dep' in extensions_available[ext][php_version] %}
{% for build_dep in extensions_available[ext][php_version]['build_dep'] %}
{{ build_dep }} \
{% endfor %}
{# Generic build dependency available? #}
{% elif 'all' in extensions_available[ext] and 'build_dep' in extensions_available[ext]['all'] %}
{% for build_dep in extensions_available[ext]['all']['build_dep'] %}
{{ build_dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endfor %}
{# General build_deps available? #}
{% elif 'all' in php_builtin_extensions[ext] and 'build_dep' in php_builtin_extensions[ext]['all'] %}
{% for dep in php_builtin_extensions[ext]['all']['build_dep'] %}
{{ dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{# ---- PHP PECL Extensions ---- #}
{% for ext in php_pecl_extensions.keys() %}
{# Enabled #}
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
{# Version specific build_deps available #}
{% if php_version in php_pecl_extensions[ext] and 'build_dep' in php_pecl_extensions[ext][php_version] %}
{% for dep in php_pecl_extensions[ext][php_version]['build_dep'] %}
{{ dep }} \
{% endfor %}
{# General build_deps available? #}
{% elif 'all' in php_pecl_extensions[ext] and 'build_dep' in php_pecl_extensions[ext]['all'] %}
{% for dep in php_pecl_extensions[ext]['all']['build_dep'] %}
{{ dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{# ---- PHP GIT Extensions git requirement ---- #}
{% if php_git_extensions %}
git \
{% endif %}
{# ---- PHP GIT Extensions ---- #}
{% for ext in php_git_extensions.keys() %}
{# Enabled #}
{% if php_version in php_git_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
{# Version specific build_deps available #}
{% if php_version in php_git_extensions[ext] and 'build_dep' in php_git_extensions[ext][php_version] %}
{% for dep in php_git_extensions[ext][php_version]['build_dep'] %}
{{ dep }} \
{% endfor %}
{# General build_deps available? #}
{% elif 'all' in php_git_extensions[ext] and 'build_dep' in php_git_extensions[ext]['all'] %}
{% for dep in php_git_extensions[ext]['all']['build_dep'] %}
{{ dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
ca-certificates
ca-certificates \
git
ENV RUN_DEPS \
{# ---- PHP Built-in Extensions ---- #}
{% for ext in php_builtin_extensions.keys() %}
{# Enabled #}
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
{# Version specific run_deps available #}
{% if php_version in php_builtin_extensions[ext] and 'run_dep' in php_builtin_extensions[ext][php_version] %}
{% for dep in php_builtin_extensions[ext][php_version]['run_dep'] %}
{{ dep }} \
{% endfor %}
{# General config available? #}
{% elif 'all' in php_builtin_extensions[ext] and 'run_dep' in php_builtin_extensions[ext]['all'] %}
{% for dep in php_builtin_extensions[ext]['all']['run_dep'] %}
{{ dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{# ---- PHP PECL Extensions ---- #}
{% for ext in php_pecl_extensions.keys() %}
{# Enabled #}
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
{# Version specific run_deps available #}
{% if php_version in php_pecl_extensions[ext] and 'run_dep' in php_pecl_extensions[ext][php_version] %}
{% for dep in php_pecl_extensions[ext][php_version]['run_dep'] %}
{{ dep }} \
{% endfor %}
{# General run_deps available? #}
{% elif 'all' in php_pecl_extensions[ext] and 'run_dep' in php_pecl_extensions[ext]['all'] %}
{% for dep in php_pecl_extensions[ext]['all']['run_dep'] %}
{{ dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{# ---- PHP GIT Extensions ---- #}
{% for ext in php_git_extensions.keys() %}
{# Enabled #}
{% if php_version in php_git_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
{# Version specific run_deps available #}
{% if php_version in php_git_extensions[ext] and 'run_dep' in php_git_extensions[ext][php_version] %}
{% for dep in php_git_extensions[ext][php_version]['run_dep'] %}
{{ dep }} \
{% endfor %}
{# General run_deps available? #}
{% elif 'all' in php_git_extensions[ext] and 'run_dep' in php_git_extensions[ext]['all'] %}
{% for dep in php_git_extensions[ext]['all']['run_dep'] %}
{{ dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endif %}
{# Loop over enabled run-time dependencies #}
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{# Version specific run-time dependency available? #}
{% if php_version in extensions_available[ext] and 'run_dep' in extensions_available[ext][php_version] %}
{% for run_dep in extensions_available[ext][php_version]['run_dep'] %}
{{ run_dep }} \
{% endfor %}
{# Generic run-time dependency available? #}
{% elif 'all' in extensions_available[ext] and 'run_dep' in extensions_available[ext]['all'] %}
{% for run_dep in extensions_available[ext]['all']['run_dep'] %}
{{ run_dep }} \
{% endfor %}
{% endif %}
{% endif %}
{% endfor %}
ca-certificates
@@ -157,109 +68,104 @@ RUN set -x \
${BUILD_DEPS} \
\
\
{# ---- PHP Built-in Extensions ---- #}
{% for ext in php_builtin_extensions.keys() %}
{# Enabled #}
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
{# Version specific command available #}
{% if php_version in php_builtin_extensions[ext] and 'command' in php_builtin_extensions[ext][php_version] %}
&& {{ php_builtin_extensions[ext][php_version]['command'] }} \
{# General command available? #}
{% elif 'all' in php_builtin_extensions[ext] and 'command' in php_builtin_extensions[ext]['all'] %}
&& {{ php_builtin_extensions[ext]['all']['command'] }} \
{% endif %}
{# Version specific configure available #}
{% if php_version in php_builtin_extensions[ext] and 'configure' in php_builtin_extensions[ext][php_version] %}
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ php_builtin_extensions[ext][php_version]['configure'] }} \
{# General configure available? #}
{% elif 'all' in php_builtin_extensions[ext] and 'configure' in php_builtin_extensions[ext]['all'] %}
&& /usr/local/bin/docker-php-ext-configure {{ ext }} {{ php_builtin_extensions[ext]['all']['configure'] }} \
{% endif %}
&& /usr/local/bin/docker-php-ext-install{% if php_version != 5.4 %} -j$(getconf _NPROCESSORS_ONLN){% endif %} {{ ext }} \
{% endif %}
{% endif %}
{% endfor %}
\
\
{# ---- PHP PECL Extensions ---- #}
{% for ext in php_pecl_extensions.keys() %}
{# Enabled #}
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
{# Version specific command available #}
{% if php_version in php_pecl_extensions[ext] and 'command' in php_pecl_extensions[ext][php_version] %}
&& {{ php_pecl_extensions[ext][php_version]['command'] }} \
{# General command available? #}
{% elif 'all' in php_pecl_extensions[ext] and 'command' in php_pecl_extensions[ext]['all'] %}
&& {{ php_pecl_extensions[ext]['all']['command'] }} \
{# Version specific name available #}
{% elif php_version in php_pecl_extensions[ext] and 'alt_name' in php_pecl_extensions[ext][php_version] %}
&& pecl install {{ php_pecl_extensions[ext][php_version]['alt_name'] }} \
{# General name available? #}
{% elif 'all' in php_pecl_extensions[ext] and 'alt_name' in php_pecl_extensions[ext]['all'] %}
&& pecl install {{ php_pecl_extensions[ext]['all']['alt_name'] }} \
{% else %}
&& pecl install {{ ext }} \
{% endif %}
{# Version specific module available #}
{% if php_version in php_pecl_extensions[ext] and 'alt_module' in php_pecl_extensions[ext][php_version] %}
&& docker-php-ext-enable {{ php_pecl_extensions[ext][php_version]['alt_module'] }} \
{# General module available? #}
{% elif 'all' in php_pecl_extensions[ext] and 'alt_module' in php_pecl_extensions[ext]['all'] %}
&& docker-php-ext-enable {{ php_pecl_extensions[ext]['all']['alt_module'] }} \
{% else %}
&& docker-php-ext-enable {{ ext }} \
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
\
\
{# ---- PHP GIT Extensions ---- #}
{% for ext in php_git_extensions.keys() %}
{# Enabled #}
{% if php_version in php_git_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
{# Version specific url available #}
{% if php_version in php_git_extensions[ext] and 'git_url' in php_git_extensions[ext][php_version] %}
&& git clone -v {{ php_git_extensions[ext][php_version]['git_url'] }} /tmp/{{ ext }} \
{# General url available? #}
{% else %}
&& git clone -v {{ php_git_extensions[ext]['all']['git_url'] }} /tmp/{{ ext }} \
{% endif %}
{# Version specific ref available #}
{% if php_version in php_git_extensions[ext] and 'git_ref' in php_git_extensions[ext][php_version] %}
&& cd /tmp/{{ ext }} \
&& git checkout {{ php_git_extensions[ext][php_version]['git_ref'] }} \
{# General ref available? #}
{% elif 'all' in php_git_extensions[ext] and 'git_ref' in php_git_extensions[ext]['all'] %}
&& cd /tmp/{{ ext }} \
&& git checkout {{ php_git_extensions[ext]['all']['git_ref'] }} \
{% endif %}
{# Version specific command available #}
{% if php_version in php_git_extensions[ext] and 'command' in php_git_extensions[ext][php_version] %}
&& cd /tmp/{{ ext }} && {{ php_git_extensions[ext][php_version]['command'] }} \
{# General command available? #}
{% else %}
&& cd /tmp/{{ ext }} && {{ php_git_extensions[ext]['all']['command'] }} \
{% endif %}
{# Version specific module available #}
{% if php_version in php_git_extensions[ext] and 'alt_module' in php_git_extensions[ext][php_version] %}
&& docker-php-ext-enable {{ php_git_extensions[ext][php_version]['alt_module'] }} \
{# General module available? #}
{% elif 'all' in php_git_extensions[ext] and 'alt_module' in php_git_extensions[ext]['all'] %}
&& docker-php-ext-enable {{ php_git_extensions[ext]['all']['alt_module'] }} \
{% else %}
&& docker-php-ext-enable {{ ext }} \
{% endif %}
{# Cleanup #}
&& cd / && rm -rf /tmp/{{ ext }} \
{% endif %}
{% endif %}
{# Loop over enabled extensions #}
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{# ---------- 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 -v {{ 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 }} \
&& cd / && rm -rf /tmp/{{ ext }} \
{% 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 -v {{ 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 }} \
&& cd / && rm -rf /tmp/{{ ext }} \
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
\
\
@@ -285,53 +191,17 @@ RUN set -x \
&& if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi
RUN set -x \
{# ---- PHP Built-in Extensions ---- #}
{% for ext in php_builtin_extensions.keys() %}
{# Enabled #}
{% if php_version in php_builtin_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_builtin_extensions[ext]) or (php_version not in php_builtin_extensions[ext]['disabled']) %}
{% if ext == 'opcache' %}
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
{% else %}
&& php -m | grep -oiE '^{{ ext }}$' \
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{# ---- PHP PECL Extensions ---- #}
{% for ext in php_pecl_extensions.keys() %}
{# Enabled #}
{% if php_version in php_pecl_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_pecl_extensions[ext]) or (php_version not in php_pecl_extensions[ext]['disabled']) %}
{% if ext == 'opcache' %}
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
{% else %}
&& php -m | grep -oiE '^{{ ext }}$' \
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
{# ---- PHP GIT Extensions ---- #}
{% for ext in php_git_extensions.keys() %}
{# Enabled #}
{% if php_version in php_git_extensions[ext]['enabled'] %}
{# Not Disabled #}
{% if ('disabled' not in php_git_extensions[ext]) or (php_version not in php_git_extensions[ext]['disabled']) %}
{% if ext == 'opcache' %}
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
{% else %}
&& php -m | grep -oiE '^{{ ext }}$' \
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
{% endif %}
{% endif %}
{% endif %}
{% for ext in extensions_enabled %}
{# Not disabled #}
{% if ('disabled' not in extensions_available[ext]) or (php_version not in extensions_available[ext]['disabled']) %}
{% if ext == 'opcache' %}
&& php -m | grep -oiE '^Zend Opcache$' \
&& php-fpm -m | grep -oiE '^Zend Opcache$' \
{% else %}
&& php -m | grep -oiE '^{{ ext }}$' \
&& php-fpm -m | grep -oiE '^{{ ext }}$' \
{% endif %}
{% endif %}
{% endfor %}
&& true

View File

@@ -31,463 +31,563 @@ php_conf_dir: /usr/local/etc/php.d
###
### Available GIT extensions
### Extensions to actually enable
###
### <ext>:
### enabled: []
### disabled: []
### all:
### git_url: Url for git clone
### git_ref: git branch tag, commit or shell command to retrieve a tag or commit
### command: command to install
### alt_module: alternative module name to enable (precedence over <ext>.so)
### build_dep:
### run_dep:
###
php_git_extensions:
memcache:
enabled: "{{ php_all_versions }}"
disabled: [5.4, 5.5, 5.6] # Officiel memcache is installed via pecl for 5.4, 5.5 and 5.6
all:
git_url: https://github.com/websupport-sk/pecl-memcache
git_ref: NON_BLOCKING_IO_php7
command: phpize && ./configure --with-zlib-dir=/usr && make -j$(getconf _NPROCESSORS_ONLN) && make install
build_dep: [zlib1g-dev]
phalcon:
enabled: "{{ php_all_versions }}"
5.4:
git_ref: phalcon-v2.0.13
all:
git_url: https://github.com/phalcon/cphalcon
git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g')
command: cd build && ./install
uploadprogress:
enabled: "{{ php_all_versions }}"
disabled: [5.4, 5.5, 5.6]
all:
git_url: https://github.com/php/pecl-php-uploadprogress
git_ref: master
command: phpize && ./configure --enable-uploadprogress && make -j$(getconf _NPROCESSORS_ONLN) && make install
extensions_enabled:
- amqp
- apcu
- bcmath
- bz2
- calendar
- ctype
- curl
- dba
- dom
- enchant
- exif
- fileinfo
- filter
- ftp
- gd
- gettext
- gmp
- hash
- iconv
- igbinary
- imagick
- imap
- interbase
- intl
- json
- ldap
- libxml
- mbstring
- mcrypt
- memcache
- memcached
- mongodb
- msgpack
- mysql
- mysqli
- mysqlnd
- oci8
- odbc
- opcache
- openssl
- pcntl
- pcre
- pdo
- pdo_dblib
- pdo_firebird
- pdo_mysql
- pdo_oci
- pdo_odbc
- pdo_pgsql
- pdo_sqlite
- pgsql
- phalcon
- phar
- posix
- pspell
- readline
- recode
- redis
- session
- shmop
- simplexml
- snmp
- soap
- sockets
- sodium
- spl
- swoole
- sysvmsg
- sysvsem
- sysvshm
- tidy
- tokenizer
- uploadprogress
- wddx
- xdebug
- xml
- xmlreader
- xmlrpc
- xmlwriter
- xsl
- zip
###
### Available PECL extensions
### All available php modules
###
### <ext>:
### enabled: []
### disabled: []
### all:
### command: alternative command to install (precedence over <alt_name> and <ext>
### alt_name: alternative name of <ext> to install (precedence over <ext>
### alt_module: alternative module name to enable (precedence over <ext>.so)
### build_dep:
### run_dep:
###
php_pecl_extensions:
#apc:
# enabled: "{{ php_all_versions }}"
# disabled: [5.5, 5.6, 7.0, 7.1, 7.2]
#apcu_bc:
# enabled: "{{ php_all_versions }}"
# disabled: [5.4, 5.5, 5.6]
# all:
# alt_module: apc
apcu:
enabled: "{{ php_all_versions }}"
5.4:
alt_name: apcu-4.0.11
5.5:
alt_name: apcu-4.0.11
5.6:
alt_name: apcu-4.0.11
# all: is generic version of defines
# 7.2: is specific version of defines
# disabled: [optional] Array of PHP versions for which to disable this module
#
# all, 7.2, 7.1, 7.0, 5.6, 5.5, 5.4:
# pre: [optional] Run command before anything else
# build_dep: [optional] Array of build dependencies
# run_dep: [optional] Array of run-time dependencies
# type: [required] One of 'builtin', 'pecl' or 'git'
#
# type: builtin
# configure: [optional] Add './configure' arguments
# type: pecl
# version: [optional] Pecl packet version
# command: [optional] Overwrite pecl command (pecl install ext)
# type: git
# git_url: [required] Git repository URL
# git_ref: [optional] Tag, branch, commit to checkout
# configure: [optional] Add './configure' arguments
# command: [optional] Overwrite default command (phpize && ./configure && make && make install)
extensions_available:
amqp:
enabled: "{{ php_all_versions }}"
7.2:
type: pecl
run_dep: [librabbitmq4]
all:
type: pecl
command: echo "/usr" | pecl install amqp
build_dep: [librabbitmq-dev]
run_dep: [librabbitmq1]
igbinary:
enabled: "{{ php_all_versions }}"
imagick:
enabled: "{{ php_all_versions }}"
7.2:
run_dep: [libmagickwand-6.q16-3]
all:
build_dep: [libmagickwand-dev]
run_dep: [libmagickwand-6.q16-2]
mcrypt:
enabled: "{{ php_all_versions }}"
disabled: [5.4, 5.5, 5.6, 7.0, 7.1] # Already avail by default in other versions
7.2:
alt_name: mcrypt-1.0.1
build_dep: [libmcrypt-dev]
run_dep: [libmcrypt4]
memcache:
enabled: "{{ php_all_versions }}"
disabled: [7.0, 7.1, 7.2] # PHP7 uses unofficial git clone (see above)
all:
build_dep: [zlib1g-dev]
memcached:
enabled: "{{ php_all_versions }}"
apcu:
5.4:
alt_name: memcached-2.2.0
type: pecl
version: 4.0.11
5.5:
alt_name: memcached-2.2.0
type: pecl
version: 4.0.11
5.6:
alt_name: memcached-2.2.0
type: pecl
version: 4.0.11
all:
build_dep: [zlib1g-dev, libmemcached-dev]
run_dep: [libmemcachedutil2]
mongodb:
enabled: "{{ php_all_versions }}"
5.4:
alt_name: mongodb-1.2.11
build_dep: [libssl-dev]
msgpack:
enabled: "{{ php_all_versions }}"
5.4:
alt_name: msgpack-0.5.7
5.5:
alt_name: msgpack-0.5.7
5.6:
alt_name: msgpack-0.5.7
redis:
enabled: "{{ php_all_versions }}"
swoole:
enabled: "{{ php_all_versions }}"
5.4:
alt_name: swoole-1.9.23
5.5:
alt_name: swoole-1.9.23
5.6:
alt_name: swoole-1.9.23
7.2:
run_dep: [libnghttp2-14]
all:
build_dep: [libnghttp2-dev, libssl-dev]
run_dep: [libnghttp2-5]
uploadprogress:
enabled: "{{ php_all_versions }}"
disabled: [7.2, 7.1, 7.0]
xdebug:
enabled: "{{ php_all_versions }}"
5.4:
alt_name: xdebug-2.4.1
5.5:
alt_name: xdebug-2.5.5
5.6:
alt_name: xdebug-2.5.5
###
### PHP Built-in Modules to enable
###
### will use e.g. 5.6 for PHP 5.6 as specific configuration
### or if not available, use all
###
### module-name:
### enabled: [ what php versions it is enabled for]
### disabled: [ what php versions it is disabled for] (precedence over enabled)
### '5.6':
### command: command to execute prior installation
### configure: custom configure command
### build_dep:
### run_dep:
### all:
### command:
### configure:
### build_dep:
### run_dep:
###
php_builtin_extensions:
type: pecl
bcmath:
enabled: "{{ php_all_versions }}"
bz2:
enabled: "{{ php_all_versions }}"
all:
type: builtin
bz2:
all:
type: builtin
build_dep: [libbz2-dev]
calendar:
enabled: "{{ php_all_versions }}"
ctype:
enabled: "{{ php_all_versions }}"
curl:
enabled: "{{ php_all_versions }}"
all:
type: builtin
ctype:
all:
type: builtin
curl:
all:
type: builtin
build_dep: [libcurl4-openssl-dev]
dba:
enabled: "{{ php_all_versions }}"
dom:
enabled: "{{ php_all_versions }}"
all:
type: builtin
dom:
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
enchant:
enabled: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [libenchant-dev]
run_dep: [libenchant1c2a]
exif:
enabled: "{{ php_all_versions }}"
all:
type: builtin
fileinfo:
enabled: "{{ php_all_versions }}"
all:
type: builtin
filter:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # Available by default
ftp:
enabled: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-openssl-dir
build_dep: [libssl-dev]
gd:
enabled: "{{ php_all_versions }}"
7.2:
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
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]
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
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp-dev]
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
build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev]
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp-dev]
all:
command: ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/
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]
run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6]
gettext:
enabled: "{{ php_all_versions }}"
gmp:
enabled: "{{ php_all_versions }}"
all:
command: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
type: builtin
gmp:
all:
type: builtin
pre: ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/
build_dep: [libgmp-dev]
hash:
enabled: "{{ php_all_versions }}"
iconv:
enabled: "{{ php_all_versions }}"
imap:
enabled: "{{ php_all_versions }}"
all:
command: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/
type: builtin
iconv:
all:
type: builtin
igbinary:
all:
type: pecl
imagick:
7.2:
type: pecl
run_dep: [libmagickwand-6.q16-3]
all:
type: pecl
build_dep: [libmagickwand-dev]
run_dep: [libmagickwand-6.q16-2]
imap:
all:
type: builtin
pre: ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/
configure: --with-kerberos --with-imap-ssl --with-imap
build_dep: [libc-client-dev, libkrb5-dev, libcurl4-openssl-dev]
run_dep: [libc-client2007e]
interbase:
enabled: "{{ php_all_versions }}"
disabled: [5.4]
all:
type: builtin
build_dep: [libfbclient2, libib-util, firebird-dev]
run_dep: [libfbclient2]
intl:
enabled: "{{ php_all_versions }}"
7.2:
type: builtin
run_dep: [libicu57]
all:
type: builtin
build_dep: [libicu-dev]
run_dep: [libicu52]
json:
enabled: "{{ php_all_versions }}"
ldap:
enabled: "{{ php_all_versions }}"
all:
command: ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/
type: builtin
ldap:
all:
type: builtin
pre: ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/
configure: --with-ldap --with-ldap-sasl
build_dep: [libldap2-dev, libsasl2-dev]
libxml:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # Available by default
mbstring:
enabled: "{{ php_all_versions }}"
mcrypt:
enabled: "{{ php_all_versions }}"
disabled: [7.2]
7.2:
build_dep: []
run_dep: []
all:
type: builtin
mcrypt:
7.2:
type: pecl
version: 1.0.1
all:
type: builtin
run_dep: [libmcrypt4]
build_dep: [libmcrypt-dev]
memcache:
7.2:
type: git
git_url: https://github.com/websupport-sk/pecl-memcache
configure: --with-zlib-dir=/usr
7.1:
type: git
git_url: https://github.com/websupport-sk/pecl-memcache
configure: --with-zlib-dir=/usr
7.0:
type: git
git_url: https://github.com/websupport-sk/pecl-memcache
configure: --with-zlib-dir=/usr
all:
type: pecl
build_dep: [zlib1g-dev]
memcached:
5.4:
type: pecl
version: 2.2.0
5.5:
type: pecl
version: 2.2.0
5.6:
type: pecl
version: 2.2.0
all:
type: pecl
build_dep: [zlib1g-dev, libmemcached-dev]
run_dep: [libmemcachedutil2]
mongodb:
5.4:
type: pecl
version: 1.2.11
all:
type: pecl
build_dep: [libssl-dev]
msgpack:
5.4:
type: pecl
version: 0.5.7
5.5:
type: pecl
version: 0.5.7
5.6:
type: pecl
version: 0.5.7
all:
type: pecl
mysql:
enabled: "{{ php_all_versions }}"
disabled: [7.0, 7.1, 7.2]
disabled: [7.0, 7.1, 7.2] # Deprecated in newer versions
all:
type: builtin
mysqli:
enabled: "{{ php_all_versions }}"
#disabled: [7.0, 7.1, 7.2]
all:
type: builtin
mysqlnd:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # Available by default
oci8:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
odbc:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # TODO: sqlext.h' not found!
opcache:
enabled: "{{ php_all_versions }}"
disabled: [5.4]
5.4:
type: pecl
command: pecl install zendopcache
all:
type: builtin
openssl:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # Available by default
pcntl:
enabled: "{{ php_all_versions }}"
all:
type: builtin
pcre:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # Available by default
pdo:
enabled: "{{ php_all_versions }}"
pdo_dblib:
enabled: "{{ php_all_versions }}"
all:
command: ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/
type: builtin
pdo_dblib:
all:
type: builtin
pre: ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/
build_dep: [freetds-dev]
run_dep: [libsybdb5]
pdo_firebird:
enabled: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [libfbclient2, libib-util, firebird-dev]
run_dep: [libfbclient2]
pdo_mysql:
enabled: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-zlib-dir=/usr
build_dep: [zlib1g-dev]
pdo_oci:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # TODO: Oracle library is missing
pdo_odbc:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # TODO: Build errors
pdo_pgsql:
enabled: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [libpq-dev]
run_dep: [libpq5]
pdo_sqlite:
enabled: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [libsqlite3-dev]
pgsql:
enabled: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [libpq-dev]
run_dep: [libpq5]
phar:
enabled: "{{ php_all_versions }}"
phalcon:
5.4:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: phalcon-v2.0.13
command: cd build && ./install
all:
type: git
git_url: https://github.com/phalcon/cphalcon
git_ref: $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | tail -1 | sed 's/^.*tags\///g')
command: cd build && ./install
phar:
all:
type: builtin
build_dep: [libssl-dev]
posix:
enabled: "{{ php_all_versions }}"
pspell:
enabled: "{{ php_all_versions }}"
all:
type: builtin
pspell:
all:
type: builtin
build_dep: [libpspell-dev]
run_dep: [libaspell15]
readline:
enabled: "{{ php_all_versions }}"
disabled: [5.4]
disabled: [5.4] # Available by default
all:
type: builtin
build_dep: [libedit-dev, libreadline-dev]
recode:
enabled: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [librecode-dev]
run_dep: [librecode0]
session:
enabled: "{{ php_all_versions }}"
redis:
all:
type: pecl
session:
all:
type: builtin
configure: --with-mm
build_dep: [libmm-dev]
shmop:
enabled: "{{ php_all_versions }}"
simplexml:
enabled: "{{ php_all_versions }}"
all:
type: builtin
simplexml:
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
snmp:
enabled: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-openssl-dir
build_dep: [libssl-dev, libsnmp-dev, snmp]
run_dep: [snmp]
soap:
enabled: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
sockets:
enabled: "{{ php_all_versions }}"
sodium:
enabled: "{{ php_all_versions }}"
disabled: [5.4, 5.5, 5.6, 7.0, 7.1]
all:
type: builtin
sodium:
disabled: [5.4, 5.5, 5.6, 7.0, 7.1]
7.2:
type: builtin
build_dep: [libsodium-dev]
spl:
enabled: "{{ php_all_versions }}"
disabled: "{{ php_all_versions }}" # TODO: Did not work
sysvmsg:
enabled: "{{ php_all_versions }}"
sysvsem:
enabled: "{{ php_all_versions }}"
sysvshm:
enabled: "{{ php_all_versions }}"
tidy:
enabled: "{{ php_all_versions }}"
swoole:
5.4:
type: pecl
version: 1.9.23
5.5:
type: pecl
version: 1.9.23
5.6:
type: pecl
version: 1.9.23
7.2:
type: pecl
run_dep: [libnghttp2-14]
all:
type: pecl
build_dep: [libnghttp2-dev, libssl-dev]
run_dep: [libnghttp2-5]
sysvmsg:
all:
type: builtin
sysvsem:
all:
type: builtin
sysvshm:
all:
type: builtin
tidy:
7.2:
type: builtin
run_dep: [libtidy5]
all:
type: builtin
build_dep: [libtidy-dev]
run_dep: [libtidy-0.99-0]
tokenizer:
enabled: "{{ php_all_versions }}"
wddx:
enabled: "{{ php_all_versions }}"
all:
type: builtin
uploadprogress:
7.2:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
7.1:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
7.0:
type: git
git_url: https://github.com/php/pecl-php-uploadprogress
configure: --enable-uploadprogress
all:
type: pecl
wddx:
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xml:
enabled: "{{ php_all_versions }}"
xdebug:
5.4:
type: pecl
version: 2.4.1
5.5:
type: pecl
version: 2.4.1
5.6:
type: pecl
version: 2.4.1
all:
type: pecl
xml:
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xmlreader:
enabled: "{{ php_all_versions }}"
disabled: [7.0, 7.1, 7.2] # build errors
disabled: [7.0, 7.1, 7.2] # Available by default
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xmlrpc:
enabled: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr --with-iconv-dir=/usr
build_dep: [libxml2-dev]
xmlwriter:
enabled: "{{ php_all_versions }}"
all:
type: builtin
configure: --with-libxml-dir=/usr
build_dep: [libxml2-dev]
xsl:
enabled: "{{ php_all_versions }}"
all:
type: builtin
build_dep: [libxslt-dev]
run_dep: [libxslt1.1]
zip:
enabled: "{{ php_all_versions }}"
5.4:
type: builtin
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
build_dep: [zlib1g-dev]
run_dep: []
5.5:
type: builtin
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr
build_dep: [zlib1g-dev]
run_dep: []
7.2:
type: builtin
run_dep: [libzip4]
all:
type: builtin
configure: --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip
build_dep: [zlib1g-dev, libzip-dev]
run_dep: [libzip2]