Skip to content

Commit bdb61b9

Browse files
committed
Fix module installations
1 parent 47e221e commit bdb61b9

5 files changed

Lines changed: 80 additions & 24 deletions

File tree

Dockerfiles/mods/Dockerfile-7.3

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -379,9 +379,8 @@ RUN set -x \
379379
# ---- Installing PHP Extension: swoole ----
380380
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
381381
&& cd /tmp/swoole \
382-
&& git checkout master \
383-
&& git checkout $(git describe --abbrev=0 --tags) \
384-
&& phpize \
382+
&& git checkout git checkout $(git describe --abbrev=0 --tags) \
383+
&& phpize \
385384
&& ./configure \
386385
--enable-openssl \
387386
--enable-sockets \

Dockerfiles/mods/Dockerfile-7.4

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,7 @@ RUN set -x \
293293
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
294294
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
295295
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
296-
&& ./configure \
296+
&& ./configure --enable-redis \
297297
&& make -j$(getconf _NPROCESSORS_ONLN) \
298298
&& make install \
299299
\
@@ -333,8 +333,7 @@ RUN set -x \
333333
&& git clone https://github.com/swoole/swoole-src /tmp/swoole \
334334
&& cd /tmp/swoole \
335335
&& git checkout master \
336-
&& git checkout $(git describe --abbrev=0 --tags) \
337-
&& phpize \
336+
&& phpize \
338337
&& ./configure \
339338
--enable-openssl \
340339
--enable-sockets \

Dockerfiles/mods/Dockerfile-8.0

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,32 @@ RUN set -x \
181181
&& (rm -rf /usr/local/lib/php/test/memcached || true) \
182182
&& (rm -rf /usr/local/lib/php/doc/memcached || true) \
183183
\
184+
# ---- Installing PHP Extension: mongodb ----
185+
&& git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \
186+
&& cd /tmp/mongodb \
187+
&& git submodule update --init \
188+
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
189+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
190+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
191+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
192+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
193+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
194+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
195+
&& sed -i'' 's/TSRMLS_SET_CTX(ctx);/\/\/TSRMLS_SET_CTX(ctx);/g' php_phongo.c \
196+
&& phpize \
197+
&& ./configure --enable-mongodb \
198+
&& make all \
199+
&& make install \
200+
\
201+
&& docker-php-ext-enable mongodb \
202+
&& (rm -rf /usr/local/lib/php/test/mongodb || true) \
203+
&& (rm -rf /usr/local/lib/php/doc/mongodb || true) \
204+
\
205+
# ---- Installing PHP Extension: mysqli ----
206+
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \
207+
&& (rm -rf /usr/local/lib/php/test/mysqli || true) \
208+
&& (rm -rf /usr/local/lib/php/doc/mysqli || true) \
209+
\
184210
# ---- Installing PHP Extension: oci8 ----
185211
&& 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 )" \
186212
&& ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \
@@ -270,6 +296,28 @@ RUN set -x \
270296
&& (rm -rf /usr/local/lib/php/test/recode || true) \
271297
&& (rm -rf /usr/local/lib/php/doc/recode || true) \
272298
\
299+
# ---- Installing PHP Extension: redis ----
300+
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
301+
&& cd /tmp/redis \
302+
&& phpize \
303+
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
304+
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
305+
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
306+
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
307+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
308+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
309+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
310+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
311+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
312+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
313+
&& ./configure --enable-redis \
314+
&& make -j$(getconf _NPROCESSORS_ONLN) \
315+
&& make install \
316+
\
317+
&& docker-php-ext-enable redis \
318+
&& (rm -rf /usr/local/lib/php/test/redis || true) \
319+
&& (rm -rf /usr/local/lib/php/doc/redis || true) \
320+
\
273321
# ---- Installing PHP Extension: shmop ----
274322
&& /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \
275323
&& (rm -rf /usr/local/lib/php/test/shmop || true) \
@@ -422,6 +470,10 @@ RUN set -x \
422470
&& php-fpm -m | grep -oiE '^mbstring$' \
423471
&& php -m | grep -oiE '^memcached$' \
424472
&& php-fpm -m | grep -oiE '^memcached$' \
473+
&& php -m | grep -oiE '^mongodb$' \
474+
&& php-fpm -m | grep -oiE '^mongodb$' \
475+
&& php -m | grep -oiE '^mysqli$' \
476+
&& php-fpm -m | grep -oiE '^mysqli$' \
425477
&& php -m | grep -oiE '^mysqlnd$' \
426478
&& php-fpm -m | grep -oiE '^mysqlnd$' \
427479
&& php -m | grep -oiE '^oci8$' \
@@ -459,6 +511,8 @@ RUN set -x \
459511
&& php -m | grep -oiE '^readline$' \
460512
&& php -m | grep -oiE '^recode$' \
461513
&& php-fpm -m | grep -oiE '^recode$' \
514+
&& php -m | grep -oiE '^redis$' \
515+
&& php-fpm -m | grep -oiE '^redis$' \
462516
&& php -m | grep -oiE '^reflection$' \
463517
&& php-fpm -m | grep -oiE '^reflection$' \
464518
&& php -m | grep -oiE '^session$' \

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -648,7 +648,7 @@ Check out this table to see which Docker image provides what PHP modules.
648648
<tr>
649649
<th>8.0</th>
650650
<td id="80-base">Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib</td>
651-
<td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, interbase, intl, json, ldap, libxml, mbstring, memcached, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
651+
<td id="80-mods">bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, interbase, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, recode, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xml, xmlreader, xmlrpc, xmlwriter, xsl, Zend OPcache, zip, zlib</td>
652652
</tr>
653653
</tbody>
654654
</table>

build/ansible/group_vars/all/mods.yml

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# Extensions to enable (in defined order)
1313
# -------------------------------------------------------------------------------------------------
1414
extensions_enabled:
15-
# ioncube must be loaded first
15+
# # ioncube must be loaded first
1616
- ioncube
1717
- amqp
1818
- apcu
@@ -484,7 +484,7 @@ extensions_available:
484484
command: yes | pecl install mongo
485485
build_dep: [libssl-dev, libsasl2-dev]
486486
mongodb:
487-
disabled: [5.2, 8.0] # TODO: fix for PHP 8.0
487+
disabled: [5.2]
488488
5.3:
489489
type: pecl
490490
version: 0.6.3
@@ -497,12 +497,13 @@ extensions_available:
497497
command: |
498498
git submodule update --init \
499499
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
500-
&& rgrep 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
501-
&& rgrep 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
502-
&& rgrep 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
503-
&& rgrep 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
504-
&& rgrep 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
505-
&& rgrep 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
500+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
501+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
502+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
503+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
504+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
505+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
506+
&& sed -i'' 's/TSRMLS_SET_CTX(ctx);/\/\/TSRMLS_SET_CTX(ctx);/g' php_phongo.c \
506507
&& phpize \
507508
&& ./configure --enable-mongodb \
508509
&& make all \
@@ -539,7 +540,6 @@ extensions_available:
539540
type: builtin
540541
run_dep: [libmysqlclient18]
541542
mysqli:
542-
disabled: [8.0] # TODO: Fixme
543543
already_avail: [5.2]
544544
all:
545545
type: builtin
@@ -724,7 +724,6 @@ extensions_available:
724724
build_dep: [librecode-dev]
725725
run_dep: [librecode0]
726726
redis:
727-
disabled: [8.0] #TODO: fixme
728727
5.2:
729728
type: pecl
730729
version: 2.2.7
@@ -737,7 +736,7 @@ extensions_available:
737736
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
738737
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
739738
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
740-
&& ./configure \
739+
&& ./configure --enable-redis \
741740
&& make -j$(getconf _NPROCESSORS_ONLN) \
742741
&& make install \
743742
8.0:
@@ -749,7 +748,14 @@ extensions_available:
749748
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \
750749
&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \
751750
&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \
752-
&& ./configure \
751+
# FIXME: This is a work-around to mitigate compile error with PHP 8.0
752+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \
753+
&& rgrep -I 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \
754+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \
755+
&& rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \
756+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \
757+
&& rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \
758+
&& ./configure --enable-redis \
753759
&& make -j$(getconf _NPROCESSORS_ONLN) \
754760
&& make install \
755761
all:
@@ -823,10 +829,9 @@ extensions_available:
823829
7.3:
824830
type: git
825831
git_url: https://github.com/swoole/swoole-src
826-
git_ref: master
832+
git_ref: git checkout $(git describe --abbrev=0 --tags)
827833
command: |
828-
git checkout $(git describe --abbrev=0 --tags) \
829-
&& phpize \
834+
phpize \
830835
&& ./configure \
831836
--enable-openssl \
832837
--enable-sockets \
@@ -842,8 +847,7 @@ extensions_available:
842847
git_url: https://github.com/swoole/swoole-src
843848
git_ref: master
844849
command: |
845-
git checkout $(git describe --abbrev=0 --tags) \
846-
&& phpize \
850+
phpize \
847851
&& ./configure \
848852
--enable-openssl \
849853
--enable-sockets \

0 commit comments

Comments
 (0)