Skip to content

Commit 72d34ca

Browse files
committed
Added imagick extension for PHP 8.0 and PHP 8.1
1 parent 6fbbc95 commit 72d34ca

5 files changed

Lines changed: 92 additions & 9 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@
77
## Release 0.131
88

99
#### Added
10+
- Added binary `sqlite3` to all PHP images (#856)[https://github.com/cytopia/devilbox/issues/856]
11+
- Added binary `laravel` to PHP 8.0 and PHP 8.1 (#823)[https://github.com/cytopia/devilbox/issues/823]
1012
- Added AVIF support in GD for PHP 8.1 (#834)[https://github.com/cytopia/devilbox/issues/834]
11-
- Added `sqlite3` binary to all PHP images (#856)[https://github.com/cytopia/devilbox/issues/856]
12-
- Added `laravel` binary to PHP 8.0 and PHP 8.1 (#823)[https://github.com/cytopia/devilbox/issues/823]
13-
- Added `amqp` extension for PHP 8.0 and PHP 8.1 (#826)[https://github.com/cytopia/devilbox/issues/826]
14-
- Added `uploadprogress` extension for PHP 8.0 and PHP 8.1
15-
- Added `xlswriter` extension for PHP 8.1
16-
- Added `pdo_dblib` extension for PHP 8.1
13+
- Added extension `amqp` to PHP 8.0 and PHP 8.1 (#826)[https://github.com/cytopia/devilbox/issues/826]
14+
- Added extension `uploadprogress` to PHP 8.0 and PHP 8.1
15+
- Added extension `imagick` to PHP 8.0 and PHP 8.1
16+
- Added extension `xlswriter` to PHP 8.1
17+
- Added extension `pdo_dblib` to PHP 8.1
1718

1819

1920
## Release 0.130

Dockerfiles/mods/Dockerfile-8.0

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN set -eux \
1212
alien \
1313
firebird-dev \
1414
freetds-dev \
15+
ghostscript \
1516
libaio-dev \
1617
libbz2-dev \
1718
libc-client-dev \
@@ -26,6 +27,7 @@ RUN set -eux \
2627
libjpeg-dev \
2728
libkrb5-dev \
2829
libldap2-dev \
30+
libmagickwand-dev \
2931
libmcrypt-dev \
3032
libmemcached-dev \
3133
libnghttp2-dev \
@@ -41,6 +43,7 @@ RUN set -eux \
4143
libtidy-dev \
4244
libvpx-dev \
4345
libwebp-dev \
46+
libwebp6 \
4447
libxml2-dev \
4548
libxpm-dev \
4649
libxslt-dev \
@@ -193,6 +196,28 @@ RUN set -eux \
193196
&& true
194197

195198

199+
# -------------------- Installing PHP Extension: imagick --------------------
200+
RUN set -eux \
201+
# Installation: Generic
202+
# Type: PECL extension
203+
# Default: Pecl command
204+
&& pecl install imagick \
205+
# Enabling
206+
&& docker-php-ext-enable imagick \
207+
# Generic post-command
208+
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
209+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
210+
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
211+
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
212+
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
213+
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
214+
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
215+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
216+
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
217+
\
218+
&& true
219+
220+
196221
# -------------------- Installing PHP Extension: imap --------------------
197222
RUN set -eux \
198223
# Generic pre-command
@@ -717,6 +742,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
717742
RUN set -eux \
718743
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
719744
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
745+
ghostscript \
720746
libaio1 \
721747
libaspell15 \
722748
libc-client2007e \
@@ -726,6 +752,7 @@ RUN set -eux \
726752
libfreetype6 \
727753
libicu67 \
728754
libjpeg62-turbo \
755+
libmagickwand-6.q16-6 \
729756
libmcrypt4 \
730757
libmemcachedutil2 \
731758
libnghttp2-14 \
@@ -735,6 +762,7 @@ RUN set -eux \
735762
libsybdb5 \
736763
libtidy5deb1 \
737764
libvpx6 \
765+
libwebp-dev \
738766
libwebp6 \
739767
libxpm4 \
740768
libxslt1.1 \
@@ -752,6 +780,17 @@ RUN set -eux \
752780
### Post Install
753781
###
754782
RUN set -eux \
783+
# ---------- imagick ----------
784+
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
785+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
786+
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
787+
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
788+
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
789+
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
790+
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
791+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
792+
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
793+
\
755794
# ---------- oci8 ----------
756795
&& 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 )" \
757796
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -822,6 +861,8 @@ RUN set -eux \
822861
&& php-fpm -m | grep -oiE '^iconv$' \
823862
&& php -m | grep -oiE '^igbinary$' \
824863
&& php-fpm -m | grep -oiE '^igbinary$' \
864+
&& php -m | grep -oiE '^imagick$' \
865+
&& php-fpm -m | grep -oiE '^imagick$' \
825866
&& php -m | grep -oiE '^imap$' \
826867
&& php-fpm -m | grep -oiE '^imap$' \
827868
&& php -m | grep -oiE '^intl$' \

Dockerfiles/mods/Dockerfile-8.1

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ RUN set -eux \
1212
alien \
1313
firebird-dev \
1414
freetds-dev \
15+
ghostscript \
1516
libaio-dev \
1617
libavif-dev \
1718
libbz2-dev \
@@ -27,6 +28,7 @@ RUN set -eux \
2728
libjpeg-dev \
2829
libkrb5-dev \
2930
libldap2-dev \
31+
libmagickwand-dev \
3032
libmemcached-dev \
3133
libpcre3-dev \
3234
libpng-dev \
@@ -40,6 +42,7 @@ RUN set -eux \
4042
libtidy-dev \
4143
libvpx-dev \
4244
libwebp-dev \
45+
libwebp6 \
4346
libxml2-dev \
4447
libxpm-dev \
4548
libxslt-dev \
@@ -177,6 +180,28 @@ RUN set -eux \
177180
&& true
178181

179182

183+
# -------------------- Installing PHP Extension: imagick --------------------
184+
RUN set -eux \
185+
# Installation: Generic
186+
# Type: PECL extension
187+
# Default: Pecl command
188+
&& pecl install imagick \
189+
# Enabling
190+
&& docker-php-ext-enable imagick \
191+
# Generic post-command
192+
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
193+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
194+
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
195+
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
196+
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
197+
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
198+
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
199+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
200+
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
201+
\
202+
&& true
203+
204+
180205
# -------------------- Installing PHP Extension: imap --------------------
181206
RUN set -eux \
182207
# Generic pre-command
@@ -669,6 +694,7 @@ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
669694
RUN set -eux \
670695
&& DEBIAN_FRONTEND=noninteractive apt-get update -q \
671696
&& DEBIAN_FRONTEND=noninteractive apt-get install -q -y --no-install-recommends --no-install-suggests \
697+
ghostscript \
672698
libaio1 \
673699
libaspell15 \
674700
libavif9 \
@@ -679,13 +705,15 @@ RUN set -eux \
679705
libfreetype6 \
680706
libicu67 \
681707
libjpeg62-turbo \
708+
libmagickwand-6.q16-6 \
682709
libmemcachedutil2 \
683710
libpng16-16 \
684711
libpq5 \
685712
librabbitmq4 \
686713
libsybdb5 \
687714
libtidy5deb1 \
688715
libvpx6 \
716+
libwebp-dev \
689717
libwebp6 \
690718
libxpm4 \
691719
libxslt1.1 \
@@ -702,6 +730,17 @@ RUN set -eux \
702730
### Post Install
703731
###
704732
RUN set -eux \
733+
# ---------- imagick ----------
734+
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
735+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
736+
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
737+
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
738+
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
739+
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
740+
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
741+
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
742+
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
743+
\
705744
# ---------- oci8 ----------
706745
&& 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 )" \
707746
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -772,6 +811,8 @@ RUN set -eux \
772811
&& php-fpm -m | grep -oiE '^iconv$' \
773812
&& php -m | grep -oiE '^igbinary$' \
774813
&& php-fpm -m | grep -oiE '^igbinary$' \
814+
&& php -m | grep -oiE '^imagick$' \
815+
&& php-fpm -m | grep -oiE '^imagick$' \
775816
&& php -m | grep -oiE '^imap$' \
776817
&& php-fpm -m | grep -oiE '^imap$' \
777818
&& php -m | grep -oiE '^intl$' \

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -680,12 +680,12 @@ Check out this table to see which Docker image provides what PHP modules.
680680
<tr>
681681
<th>8.0</th>
682682
<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>
683-
<td id="80-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, intl, 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, Phar, posix, pspell, psr, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
683+
<td id="80-mods">amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, 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, Phar, posix, pspell, psr, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
684684
</tr>
685685
<tr>
686686
<th>8.1</th>
687687
<td id="81-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>
688-
<td id="81-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, psr, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
688+
<td id="81-mods">amqp, apcu, bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, psr, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, xdebug, xlswriter, xml, xmlreader, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib</td>
689689
</tr>
690690
</tbody>
691691
</table>

build/ansible/group_vars/all/mods.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ extensions_available:
373373
all:
374374
type: pecl
375375
imagick:
376-
disabled: [5.2, 5.3, 5.4, 8.0, 8.1] # Only available since 5.3. 5.3 and 5.4 segfaults
376+
disabled: [5.2, 5.3, 5.4] # Only available since 5.3. 5.3 and 5.4 segfaults
377377
5.5:
378378
type: pecl
379379
build_dep: [libmagickwand-dev, libwebp5, ghostscript]

0 commit comments

Comments
 (0)