From fb36b7151f1a7a89379c3408fd5281daab6d3289 Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 5 Nov 2020 12:00:34 +0100 Subject: [PATCH] Re-enable mongodb for PHP 8.0 --- Dockerfiles/mods/Dockerfile-8.0 | 20 +++++++++++++++++++ README.md | 2 +- build/ansible/group_vars/all/mods.yml | 28 ++------------------------- 3 files changed, 23 insertions(+), 27 deletions(-) diff --git a/Dockerfiles/mods/Dockerfile-8.0 b/Dockerfiles/mods/Dockerfile-8.0 index ae5281c..d01fe0f 100644 --- a/Dockerfiles/mods/Dockerfile-8.0 +++ b/Dockerfiles/mods/Dockerfile-8.0 @@ -179,6 +179,24 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: mongodb -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: GIT extension + && git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \ + && cd /tmp/mongodb \ + # Custom: Install command + && git submodule update --init \ +&& phpize \ +&& ./configure --enable-mongodb \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ + \ + # Enabling + && docker-php-ext-enable mongodb \ + && true + + # -------------------- Installing PHP Extension: mysqli -------------------- RUN set -eux \ # Installation: Generic @@ -610,6 +628,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^mbstring$' \ && php -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \ + && php -m | grep -oiE '^mongodb$' \ + && php-fpm -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqlnd$' \ diff --git a/README.md b/README.md index 5a3f4b4..45c22dd 100644 --- a/README.md +++ b/README.md @@ -652,7 +652,7 @@ Check out this table to see which Docker image provides what PHP modules. 8.0 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 - bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xdebug, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zip, zlib + bcmath, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, intl, json, ldap, libxml, mbstring, memcached, mongodb, mysqli, mysqlnd, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, Phar, posix, pspell, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, SPL, sqlite3, standard, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, xdebug, xml, xmlreader, xmlwriter, xsl, Zend OPcache, zip, zlib diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index b977e8f..4cd2917 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -518,7 +518,7 @@ extensions_available: command: yes yes | pecl install mongo build_dep: [libssl-dev, libsasl2-dev] mongodb: - disabled: [5.2, 8.0] + disabled: [5.2] 5.3: type: pecl version: 0.6.3 @@ -535,31 +535,7 @@ extensions_available: type: git git_url: https://github.com/mongodb/mongo-php-driver command: | - 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' \ - && rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \ - && rgrep -I 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \ - && rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \ - && rgrep -I 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \ - && sed -i'' 's/TSRMLS_SET_CTX(ctx);/\/\/TSRMLS_SET_CTX(ctx);/g' php_phongo.c \ - && 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 \ - \ + git submodule update --init \ && phpize \ && ./configure --enable-mongodb \ && make -j$(getconf _NPROCESSORS_ONLN) \