diff --git a/Dockerfiles/mods/Dockerfile-8.0 b/Dockerfiles/mods/Dockerfile-8.0 index ead3a01..f4bde49 100644 --- a/Dockerfiles/mods/Dockerfile-8.0 +++ b/Dockerfiles/mods/Dockerfile-8.0 @@ -169,29 +169,18 @@ RUN set -x \ && git clone https://github.com/php-memcached-dev/php-memcached /tmp/memcached \ && cd /tmp/memcached \ && git checkout master \ - && phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install \ + && true \ +# FIXME: This is a work-around to mitigate compile error with PHP 8.0 +&& sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \ +&& phpize \ +&& ./configure --enable-memcached \ +&& make -j$(getconf _NPROCESSORS_ONLN) \ +&& make install \ + \ && docker-php-ext-enable memcached \ && (rm -rf /usr/local/lib/php/test/memcached || true) \ && (rm -rf /usr/local/lib/php/doc/memcached || true) \ \ -# ---- Installing PHP Extension: mongodb ---- - && git clone https://github.com/mongodb/mongo-php-driver /tmp/mongodb \ - && cd /tmp/mongodb \ - && git submodule update --init \ -&& phpize \ -&& ./configure --enable-mongodb \ -&& make all \ -&& make install \ - \ - && docker-php-ext-enable mongodb \ - && (rm -rf /usr/local/lib/php/test/mongodb || true) \ - && (rm -rf /usr/local/lib/php/doc/mongodb || true) \ - \ -# ---- Installing PHP Extension: mysqli ---- - && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ - && (rm -rf /usr/local/lib/php/test/mysqli || true) \ - && (rm -rf /usr/local/lib/php/doc/mysqli || true) \ - \ # ---- Installing PHP Extension: oci8 ---- && 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' )" \ @@ -281,21 +270,6 @@ RUN set -x \ && (rm -rf /usr/local/lib/php/test/recode || true) \ && (rm -rf /usr/local/lib/php/doc/recode || true) \ \ -# ---- Installing PHP Extension: redis ---- - && git clone https://github.com/phpredis/phpredis /tmp/redis \ - && cd /tmp/redis \ - && phpize \ -&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis.c \ -&& sed -i'' 's/ZEND_ACC_DTOR | //g' redis.c \ -&& sed -i'' 's/ZEND_ACC_CTOR | //g' redis_cluster.c \ -&& ./configure \ -&& make -j$(getconf _NPROCESSORS_ONLN) \ -&& make install \ - \ - && docker-php-ext-enable redis \ - && (rm -rf /usr/local/lib/php/test/redis || true) \ - && (rm -rf /usr/local/lib/php/doc/redis || true) \ - \ # ---- Installing PHP Extension: shmop ---- && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \ && (rm -rf /usr/local/lib/php/test/shmop || true) \ @@ -343,17 +317,6 @@ RUN set -x \ && (rm -rf /usr/local/lib/php/test/tidy || true) \ && (rm -rf /usr/local/lib/php/doc/tidy || true) \ \ -# ---- Installing PHP Extension: uploadprogress ---- - && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ - && cd /tmp/uploadprogress \ - && phpize \ - && ./configure --enable-uploadprogress \ - && make -j$(getconf _NPROCESSORS_ONLN) \ - && make install \ - && docker-php-ext-enable uploadprogress \ - && (rm -rf /usr/local/lib/php/test/uploadprogress || true) \ - && (rm -rf /usr/local/lib/php/doc/uploadprogress || true) \ - \ # ---- Installing PHP Extension: xmlrpc ---- && /usr/local/bin/docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \ && /usr/local/bin/docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \ @@ -459,10 +422,6 @@ RUN set -x \ && 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$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^oci8$' \ @@ -500,8 +459,6 @@ RUN set -x \ && php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \ - && php -m | grep -oiE '^redis$' \ - && php-fpm -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^reflection$' \ && php-fpm -m | grep -oiE '^reflection$' \ && php -m | grep -oiE '^session$' \ @@ -530,8 +487,6 @@ RUN set -x \ && php-fpm -m | grep -oiE '^tidy$' \ && php -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \ - && php -m | grep -oiE '^uploadprogress$' \ - && php-fpm -m | grep -oiE '^uploadprogress$' \ && php -m | grep -oiE '^xml$' \ && php-fpm -m | grep -oiE '^xml$' \ && php -m | grep -oiE '^xmlreader$' \ diff --git a/README.md b/README.md index 7679b8c..b4c1ef1 100644 --- a/README.md +++ b/README.md @@ -648,7 +648,7 @@ Check out this table to see which Docker image provides what PHP modules. 8.0 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 - 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, uploadprogress, xml, xmlreader, xmlrpc, 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, 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 diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index 4008e8e..8a1a9a7 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -462,10 +462,16 @@ extensions_available: type: git git_url: https://github.com/php-memcached-dev/php-memcached git_ref: master - command: phpize && ./configure --enable-memcached && make -j$(getconf _NPROCESSORS_ONLN) && make install + command: | + true \ + # FIXME: This is a work-around to mitigate compile error with PHP 8.0 + && sed -i'' 's/\sTSRMLS_CC//g' php_memcached_session.c \ + && phpize \ + && ./configure --enable-memcached \ + && make -j$(getconf _NPROCESSORS_ONLN) \ + && make install \ all: type: pecl - #version: 3.0.4 # TODO: check if this version works build_dep: [zlib1g-dev, libmemcached-dev, libevent-dev] run_dep: [libmemcachedutil2] mongo: @@ -478,7 +484,7 @@ extensions_available: command: yes | pecl install mongo build_dep: [libssl-dev, libsasl2-dev] mongodb: - disabled: [5.2] + disabled: [5.2, 8.0] # TODO: fix for PHP 8.0 5.3: type: pecl version: 0.6.3 @@ -490,6 +496,13 @@ extensions_available: git_url: https://github.com/mongodb/mongo-php-driver command: | git submodule update --init \ + # FIXME: This is a work-around to mitigate compile error with PHP 8.0 + && rgrep 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C)/)/g' \ + && rgrep 'TSRMLS_C' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_C,/,/g' \ + && rgrep 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC)/)/g' \ + && rgrep 'TSRMLS_CC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_CC,/,/g' \ + && rgrep 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC)/)/g' \ + && rgrep 'TSRMLS_DC' | cut -d':' -f1 | sort -u | xargs -n1 sed -i'' 's/TSRMLS_DC,/,/g' \ && phpize \ && ./configure --enable-mongodb \ && make all \ @@ -526,6 +539,7 @@ extensions_available: type: builtin run_dep: [libmysqlclient18] mysqli: + disabled: [8.0] # TODO: Fixme already_avail: [5.2] all: type: builtin @@ -710,6 +724,7 @@ extensions_available: build_dep: [librecode-dev] run_dep: [librecode0] redis: + disabled: [8.0] #TODO: fixme 5.2: type: pecl version: 2.2.7 @@ -872,6 +887,7 @@ extensions_available: tokenizer: already_avail: "{{ php_all_versions }}" uploadprogress: + disabled: [8.0] #TODO: fixme 7.0: type: git git_url: https://github.com/php/pecl-php-uploadprogress