Date: Thursday, April 14, 2022 @ 18:44:38 Author: foutrelis Revision: 442568
archrelease: copy trunk to staging-x86_64 Added: php/repos/staging-x86_64/ php/repos/staging-x86_64/PKGBUILD (from rev 442567, php/trunk/PKGBUILD) php/repos/staging-x86_64/apache.conf (from rev 442567, php/trunk/apache.conf) php/repos/staging-x86_64/apache.patch (from rev 442567, php/trunk/apache.patch) php/repos/staging-x86_64/generate_patches (from rev 442567, php/trunk/generate_patches) php/repos/staging-x86_64/php-fpm.patch (from rev 442567, php/trunk/php-fpm.patch) php/repos/staging-x86_64/php-fpm.tmpfiles (from rev 442567, php/trunk/php-fpm.tmpfiles) php/repos/staging-x86_64/php.ini.patch (from rev 442567, php/trunk/php.ini.patch) ------------------+ PKGBUILD | 338 +++++++++++++++++++++++++++++++++++++++++++++++++++++ apache.conf | 13 ++ apache.patch | 10 + generate_patches | 103 ++++++++++++++++ php-fpm.patch | 74 +++++++++++ php-fpm.tmpfiles | 1 php.ini.patch | 78 ++++++++++++ 7 files changed, 617 insertions(+) Copied: php/repos/staging-x86_64/PKGBUILD (from rev 442567, php/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2022-04-14 18:44:38 UTC (rev 442568) @@ -0,0 +1,338 @@ +# Maintainer: Pierre Schmitz <pie...@archlinux.de> + +pkgbase=php +pkgname=('php' + 'php-cgi' + 'php-apache' + 'php-fpm' + 'php-embed' + 'php-phpdbg' + 'php-dblib' + 'php-enchant' + 'php-gd' + 'php-imap' + 'php-intl' + 'php-sodium' + 'php-odbc' + 'php-pgsql' + 'php-pspell' + 'php-snmp' + 'php-sqlite' + 'php-tidy' + 'php-xsl') +pkgver=8.1.5 +pkgrel=2 +arch=('x86_64') +license=('PHP') +url='https://www.php.net/' +makedepends=('apache' 'aspell' 'c-client' 'db' 'gdbm' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp' + 'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'postfix' 'freetds' 'pcre2' 'libnsl' + 'oniguruma') +checkdepends=('procps-ng') +source=("https://php.net/distributions/${pkgbase}-${pkgver}.tar.xz"{,.asc} + 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch') +sha256sums=('7647734b4dcecd56b7e4bd0bc55e54322fa3518299abcdc68eb557a7464a2e8a' + 'SKIP' + '702b163c66c65af92dcad8d79f41bda84bcd5d863235fcf1497c33a86db9e4ca' + '4a2add00d93fa991ccdf6356090264c1059c79935642afff6e8d4a2107fa037e' + 'aa55fa4fc5c2b2493065bbd00cfe3c97a1b22b3dc7d34f8fd303de18cafe844f' + '640dba0d960bfeaae9ad38d2826d3f6b5d6c175a4d3e16664eefff29141faad5' + 'b3b3385f1c36e272671c7db238b2a69896e11a82db90dafd74964f2eabbfa2f2') +validpgpkeys=('F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD' + '39B641343D8C104B2B146DC3F9C39DC0B9698544') + +prepare() { + cd "${srcdir}/${pkgbase}-${pkgver}" + + patch -p0 -i "${srcdir}/apache.patch" + patch -p0 -i "${srcdir}/php-fpm.patch" + patch -p0 -i "${srcdir}/php.ini.patch" + autoconf + + # Disable failing tests + rm tests/output/stream_isatty_*.phpt + rm Zend/tests/arginfo_zpp_mismatch*.phpt +} + +build() { + local _phpconfig="--srcdir=../${pkgbase}-${pkgver} \ + --config-cache \ + --prefix=/usr \ + --sbindir=/usr/bin \ + --sysconfdir=/etc/php \ + --localstatedir=/var \ + --with-layout=GNU \ + --with-config-file-path=/etc/php \ + --with-config-file-scan-dir=/etc/php/conf.d \ + --disable-rpath \ + --mandir=/usr/share/man \ + --disable-gcc-global-regs \ + " + + local _phpextensions="\ + --enable-bcmath=shared \ + --enable-calendar=shared \ + --enable-dba=shared \ + --enable-exif=shared \ + --enable-ftp=shared \ + --enable-gd=shared \ + --enable-intl=shared \ + --enable-mbstring \ + --enable-pcntl \ + --enable-shmop=shared \ + --enable-soap=shared \ + --enable-sockets=shared \ + --enable-sysvmsg=shared \ + --enable-sysvsem=shared \ + --enable-sysvshm=shared \ + --with-bz2=shared \ + --with-curl=shared \ + --with-db4=/usr \ + --with-enchant=shared \ + --with-external-gd \ + --with-external-pcre \ + --with-ffi=shared \ + --with-gdbm \ + --with-gettext=shared \ + --with-gmp=shared \ + --with-iconv=shared \ + --with-imap-ssl \ + --with-imap=shared \ + --with-kerberos \ + --with-ldap=shared \ + --with-ldap-sasl \ + --with-mhash \ + --with-mysql-sock=/run/mysqld/mysqld.sock \ + --with-mysqli=shared,mysqlnd \ + --with-openssl \ + --with-password-argon2 \ + --with-pdo-dblib=shared,/usr \ + --with-pdo-mysql=shared,mysqlnd \ + --with-pdo-odbc=shared,unixODBC,/usr \ + --with-pdo-pgsql=shared \ + --with-pdo-sqlite=shared \ + --with-pgsql=shared \ + --with-pspell=shared \ + --with-readline \ + --with-snmp=shared \ + --with-sodium=shared \ + --with-sqlite3=shared \ + --with-tidy=shared \ + --with-unixODBC=shared \ + --with-xsl=shared \ + --with-zip=shared \ + --with-zlib \ + " + + EXTENSION_DIR=/usr/lib/php/modules + export EXTENSION_DIR + + mkdir "${srcdir}/build" + cd "${srcdir}/build" + ln -s "../${pkgbase}-${pkgver}/configure" + ./configure ${_phpconfig} \ + --enable-cgi \ + --enable-fpm \ + --with-fpm-systemd \ + --with-fpm-acl \ + --with-fpm-user=http \ + --with-fpm-group=http \ + --enable-embed=shared \ + ${_phpextensions} + make + + # apache + # reuse the previous run; this will save us a lot of time + cp -a "${srcdir}/build" "${srcdir}/build-apache" + cd "${srcdir}/build-apache" + ./configure ${_phpconfig} \ + --with-apxs2 \ + ${_phpextensions} + make + + # phpdbg + cp -a "${srcdir}/build" "${srcdir}/build-phpdbg" + cd "${srcdir}/build-phpdbg" + ./configure ${_phpconfig} \ + --enable-phpdbg \ + ${_phpextensions} + make +} + +check() { + cd "${srcdir}/build" + + # Check if sendmail was configured correctly (FS#47600) + sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail' + + export REPORT_EXIT_STATUS=1 + export NO_INTERACTION=1 + export SKIP_ONLINE_TESTS=1 + export SKIP_SLOW_TESTS=1 + export TEST_PHP_ARGS="-j$(nproc)" + export TESTS='tests Zend' + + make test +} + +package_php() { + pkgdesc='A general-purpose scripting language that is especially suited to web development' + depends=('libxml2' 'curl' 'libzip' 'pcre2' 'argon2' 'oniguruma' 'db' 'gdbm') + replaces=('php-ldap') + conflicts=('php-ldap') + provides=("php-ldap=${pkgver}") + backup=('etc/php/php.ini') + + cd "${srcdir}/build" + make -j1 INSTALL_ROOT="${pkgdir}" install-{modules,cli,build,headers,programs,pharcmd} + install -D -m644 "${srcdir}/${pkgbase}-${pkgver}/php.ini-production" "${pkgdir}/etc/php/php.ini" + install -d -m755 "${pkgdir}/etc/php/conf.d/" + + # remove static modules + rm -f "${pkgdir}/usr/lib/php/modules/"*.a + # remove modules provided by sub packages + rm -f "${pkgdir}/usr/lib/php/modules/"{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so + # remove empty directory + rmdir "${pkgdir}/usr/include/php/include" +} + +package_php-cgi() { + pkgdesc='CGI and FCGI SAPI for PHP' + depends=('php') + + cd "${srcdir}/build" + make -j1 INSTALL_ROOT="${pkgdir}" install-cgi +} + +package_php-apache() { + pkgdesc='Apache SAPI for PHP' + depends=('php' 'apache' 'libnsl') + backup=('etc/httpd/conf/extra/php_module.conf') + + install -D -m755 "${srcdir}/build-apache/libs/libphp.so" "${pkgdir}/usr/lib/httpd/modules/libphp.so" + install -D -m644 "${srcdir}/apache.conf" "${pkgdir}/etc/httpd/conf/extra/php_module.conf" +} + +package_php-fpm() { + pkgdesc='FastCGI Process Manager for PHP' + depends=('php' 'systemd') + backup=('etc/php/php-fpm.conf' 'etc/php/php-fpm.d/www.conf') + options=('!emptydirs') + + cd "${srcdir}/build" + make -j1 INSTALL_ROOT="${pkgdir}" install-fpm + install -D -m644 sapi/fpm/php-fpm.service "${pkgdir}/usr/lib/systemd/system/php-fpm.service" + install -D -m644 "${srcdir}/php-fpm.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/php-fpm.conf" +} + +package_php-embed() { + pkgdesc='Embedded PHP SAPI library' + depends=('php' 'systemd-libs' 'libnsl' 'libxcrypt') + options=('!emptydirs') + + cd "${srcdir}/build" + make -j1 INSTALL_ROOT="${pkgdir}" PHP_SAPI=embed install-sapi +} + +package_php-phpdbg() { + pkgdesc='Interactive PHP debugger' + depends=('php') + options=('!emptydirs') + + cd "${srcdir}/build-phpdbg" + make -j1 INSTALL_ROOT="${pkgdir}" install-phpdbg +} + +package_php-dblib() { + pkgdesc='dblib module for PHP' + depends=('php' 'freetds') + + install -D -m755 "${srcdir}/build/modules/pdo_dblib.so" "${pkgdir}/usr/lib/php/modules/pdo_dblib.so" +} + +package_php-enchant() { + pkgdesc='enchant module for PHP' + depends=('php' 'enchant') + + install -D -m755 "${srcdir}/build/modules/enchant.so" "${pkgdir}/usr/lib/php/modules/enchant.so" +} + +package_php-gd() { + pkgdesc='gd module for PHP' + depends=('php' 'gd') + + install -D -m755 "${srcdir}/build/modules/gd.so" "${pkgdir}/usr/lib/php/modules/gd.so" +} + +package_php-imap() { + pkgdesc='imap module for PHP' + depends=('php' 'c-client' 'libxcrypt') + + install -D -m755 "${srcdir}/build/modules/imap.so" "${pkgdir}/usr/lib/php/modules/imap.so" +} + +package_php-intl() { + pkgdesc='intl module for PHP' + depends=('php' 'icu') + + install -D -m755 "${srcdir}/build/modules/intl.so" "${pkgdir}/usr/lib/php/modules/intl.so" +} + +package_php-sodium() { + pkgdesc='sodium module for PHP' + depends=('php' 'libsodium') + + install -D -m755 "${srcdir}/build/modules/sodium.so" "${pkgdir}/usr/lib/php/modules/sodium.so" +} + +package_php-odbc() { + pkgdesc='ODBC modules for PHP' + depends=('php' 'unixodbc') + + install -D -m755 "${srcdir}/build/modules/odbc.so" "${pkgdir}/usr/lib/php/modules/odbc.so" + install -D -m755 "${srcdir}/build/modules/pdo_odbc.so" "${pkgdir}/usr/lib/php/modules/pdo_odbc.so" +} + +package_php-pgsql() { + pkgdesc='PostgreSQL modules for PHP' + depends=('php' 'postgresql-libs') + + install -D -m755 "${srcdir}/build/modules/pgsql.so" "${pkgdir}/usr/lib/php/modules/pgsql.so" + install -D -m755 "${srcdir}/build/modules/pdo_pgsql.so" "${pkgdir}/usr/lib/php/modules/pdo_pgsql.so" +} + +package_php-pspell() { + pkgdesc='pspell module for PHP' + depends=('php' 'aspell') + + install -D -m755 "${srcdir}/build/modules/pspell.so" "${pkgdir}/usr/lib/php/modules/pspell.so" +} + +package_php-snmp() { + pkgdesc='snmp module for PHP' + depends=('php' 'net-snmp') + + install -D -m755 "${srcdir}/build/modules/snmp.so" "${pkgdir}/usr/lib/php/modules/snmp.so" +} + +package_php-sqlite() { + pkgdesc='sqlite module for PHP' + depends=('php' 'sqlite') + + install -D -m755 "${srcdir}/build/modules/sqlite3.so" "${pkgdir}/usr/lib/php/modules/sqlite3.so" + install -D -m755 "${srcdir}/build/modules/pdo_sqlite.so" "${pkgdir}/usr/lib/php/modules/pdo_sqlite.so" +} + +package_php-tidy() { + pkgdesc='tidy module for PHP' + depends=('php' 'tidy') + + install -D -m755 "${srcdir}/build/modules/tidy.so" "${pkgdir}/usr/lib/php/modules/tidy.so" +} + +package_php-xsl() { + pkgdesc='xsl module for PHP' + depends=('php' 'libxslt') + + install -D -m755 "${srcdir}/build/modules/xsl.so" "${pkgdir}/usr/lib/php/modules/xsl.so" +} Copied: php/repos/staging-x86_64/apache.conf (from rev 442567, php/trunk/apache.conf) =================================================================== --- staging-x86_64/apache.conf (rev 0) +++ staging-x86_64/apache.conf 2022-04-14 18:44:38 UTC (rev 442568) @@ -0,0 +1,13 @@ +# Required modules: dir_module, php_module + +<IfModule dir_module> + <IfModule php_module> + DirectoryIndex index.php index.html + <FilesMatch "\.php$"> + SetHandler application/x-httpd-php + </FilesMatch> + <FilesMatch "\.phps$"> + SetHandler application/x-httpd-php-source + </FilesMatch> + </IfModule> +</IfModule> Copied: php/repos/staging-x86_64/apache.patch (from rev 442567, php/trunk/apache.patch) =================================================================== --- staging-x86_64/apache.patch (rev 0) +++ staging-x86_64/apache.patch 2022-04-14 18:44:38 UTC (rev 442568) @@ -0,0 +1,10 @@ +--- sapi/apache2handler/config.m4.orig ++++ sapi/apache2handler/config.m4 +@@ -114,7 +114,6 @@ + PHP_BUILD_THREAD_SAFE + fi + else +- APACHE_THREADED_MPM=`$APXS_HTTPD -V 2>/dev/null | grep 'threaded:.*yes'` + if test -n "$APACHE_THREADED_MPM"; then + PHP_BUILD_THREAD_SAFE + fi Copied: php/repos/staging-x86_64/generate_patches (from rev 442567, php/trunk/generate_patches) =================================================================== --- staging-x86_64/generate_patches (rev 0) +++ staging-x86_64/generate_patches 2022-04-14 18:44:38 UTC (rev 442568) @@ -0,0 +1,103 @@ +#!/bin/bash + +. PKGBUILD + +makepkg -o --nodeps --noprepare --skipinteg + +pushd "src/${pkgbase}-${pkgver}" + +sed '/APACHE_THREADED_MPM=/d' -i.orig sapi/apache2handler/config.m4 + +sed 's/.conf.default/.conf/g' -i.orig sapi/fpm/Makefile.frag + +sed \ + -e 's#run/php-fpm.pid#/run/php-fpm/php-fpm.pid#' \ + -e 's#^;error_log =.*#error_log = syslog#' \ + -i.orig sapi/fpm/php-fpm.conf.in + +sed \ + -e 's#^listen =.*#listen = /run/php-fpm/php-fpm.sock#' \ + -e 's#^;listen.owner =#listen.owner =#' \ + -e 's#^;listen.group =#listen.group =#' \ + -e 's#^;chdir =.*#;chdir = /srv/http#' \ + -i.orig sapi/fpm/www.conf.in + +sed \ + -e 's#^PIDFile=.*#PIDFile=/run/php-fpm/php-fpm.pid#' \ + -i.orig sapi/fpm/php-fpm.service.in + +# available extensions after build +# find /var/lib/archbuild/*-x86_64/*/build/php/src/build/modules -name '*.so' -exec basename {} .so \; | sort -u +availableExtensions=( + bcmath + bz2 + calendar + curl + dba + enchant + exif + ffi + ftp + gd + gettext + gmp + iconv + imap + intl + ldap + mysqli + odbc + opcache + pdo_dblib + pdo_mysql + pdo_odbc + pdo_pgsql + pdo_sqlite + pgsql + pspell + shmop + snmp + soap + sockets + sodium + sqlite3 + sysvmsg + sysvsem + sysvshm + tidy + xsl + zip +) + +extensions='' +for extension in "${availableExtensions[@]}"; do + if [[ $extension == 'curl' ]]; then + extensions+="extension=${extension}\n" + elif [[ $extension == 'opcache' ]]; then + extensions+=";zend_extension=${extension}\n" + elif [[ $extension == 'zip' ]]; then + extensions+="extension=${extension}\n" + else + extensions+=";extension=${extension}\n" + fi +done + +sed \ + -r ":a;N;\$!ba;s/; Notes for Windows environments :\n.+;?extension=\w+\n/${extensions}/g" \ + -i.orig php.ini-production +sed \ + -e 's#^;extension_dir = "\./"$#extension_dir = "/usr/lib/php/modules/"#g' \ + -i php.ini-production + +diff -u sapi/apache2handler/config.m4.orig sapi/apache2handler/config.m4 | filterdiff --clean --remove-timestamps > ../../apache.patch + +{ + diff -u sapi/fpm/Makefile.frag.orig sapi/fpm/Makefile.frag + diff -u sapi/fpm/php-fpm.conf.in.orig sapi/fpm/php-fpm.conf.in + diff -u sapi/fpm/www.conf.in.orig sapi/fpm/www.conf.in + diff -u sapi/fpm/php-fpm.service.in.orig sapi/fpm/php-fpm.service.in +} | filterdiff --clean --remove-timestamps > ../../php-fpm.patch + +diff -u php.ini-production.orig php.ini-production | filterdiff --clean --remove-timestamps > ../../php.ini.patch + +popd Copied: php/repos/staging-x86_64/php-fpm.patch (from rev 442567, php/trunk/php-fpm.patch) =================================================================== --- staging-x86_64/php-fpm.patch (rev 0) +++ staging-x86_64/php-fpm.patch 2022-04-14 18:44:38 UTC (rev 442568) @@ -0,0 +1,74 @@ +--- sapi/fpm/Makefile.frag.orig ++++ sapi/fpm/Makefile.frag +@@ -15,8 +15,8 @@ + else \ + echo "Installing PHP FPM defconfig: $(INSTALL_ROOT)$(sysconfdir)/" && \ + $(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d; \ +- $(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf.default; \ +- $(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf.default; \ ++ $(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf; \ ++ $(INSTALL_DATA) sapi/fpm/www.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.d/www.conf; \ + fi + + @echo "Installing PHP FPM man page: $(INSTALL_ROOT)$(mandir)/man8/" +--- sapi/fpm/php-fpm.conf.in.orig ++++ sapi/fpm/php-fpm.conf.in +@@ -14,14 +14,14 @@ + ; Pid file + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ + ; Default Value: none +-;pid = run/php-fpm.pid ++;pid = /run/php-fpm/php-fpm.pid + + ; Error log file + ; If it's set to "syslog", log is sent to syslogd instead of being written + ; into a local file. + ; Note: the default prefix is @EXPANDED_LOCALSTATEDIR@ + ; Default Value: log/php-fpm.log +-;error_log = log/php-fpm.log ++error_log = syslog + + ; syslog_facility is used to specify what type of program is logging the + ; message. This lets syslogd specify that messages from different facilities +--- sapi/fpm/www.conf.in.orig ++++ sapi/fpm/www.conf.in +@@ -33,7 +33,7 @@ + ; (IPv6 and IPv4-mapped) on a specific port; + ; '/path/to/unix/socket' - to listen on a unix socket. + ; Note: This value is mandatory. +-listen = 127.0.0.1:9000 ++listen = /run/php-fpm/php-fpm.sock + + ; Set listen(2) backlog. + ; Default Value: 511 (-1 on FreeBSD and OpenBSD) +@@ -45,8 +45,8 @@ + ; and group can be specified either by name or by their numeric IDs. + ; Default Values: user and group are set as the running user + ; mode is set to 0660 +-;listen.owner = @php_fpm_user@ +-;listen.group = @php_fpm_group@ ++listen.owner = @php_fpm_user@ ++listen.group = @php_fpm_group@ + ;listen.mode = 0660 + ; When POSIX Access Control Lists are supported you can set them using + ; these options, value is a comma separated list of user/group names. +@@ -395,7 +395,7 @@ + ; Chdir to this directory at the start. + ; Note: relative path can be used. + ; Default Value: current directory or / when chroot +-;chdir = /var/www ++;chdir = /srv/http + + ; Redirect worker stdout and stderr into main error log. If not set, stdout and + ; stderr will be redirected to /dev/null according to FastCGI specs. +--- sapi/fpm/php-fpm.service.in.orig ++++ sapi/fpm/php-fpm.service.in +@@ -8,7 +8,7 @@ + + [Service] + Type=@php_fpm_systemd@ +-PIDFile=@EXPANDED_LOCALSTATEDIR@/run/php-fpm.pid ++PIDFile=/run/php-fpm/php-fpm.pid + ExecStart=@EXPANDED_SBINDIR@/php-fpm --nodaemonize --fpm-config @EXPANDED_SYSCONFDIR@/php-fpm.conf + ExecReload=/bin/kill -USR2 $MAINPID + Copied: php/repos/staging-x86_64/php-fpm.tmpfiles (from rev 442567, php/trunk/php-fpm.tmpfiles) =================================================================== --- staging-x86_64/php-fpm.tmpfiles (rev 0) +++ staging-x86_64/php-fpm.tmpfiles 2022-04-14 18:44:38 UTC (rev 442568) @@ -0,0 +1 @@ +d /run/php-fpm 755 root root Copied: php/repos/staging-x86_64/php.ini.patch (from rev 442567, php/trunk/php.ini.patch) =================================================================== --- staging-x86_64/php.ini.patch (rev 0) +++ staging-x86_64/php.ini.patch 2022-04-14 18:44:38 UTC (rev 442568) @@ -0,0 +1,78 @@ +--- php.ini-production.orig ++++ php.ini-production +@@ -760,7 +760,7 @@ + + ; Directory in which the loadable extensions (modules) reside. + ; https://php.net/extension-dir +-;extension_dir = "./" ++extension_dir = "/usr/lib/php/modules/" + ; On windows: + ;extension_dir = "ext" + +@@ -908,51 +908,44 @@ + ; deprecated in a future PHP major version. So, when it is possible, please + ; move to the new ('extension=<ext>) syntax. + ; +-; Notes for Windows environments : +-; +-; - Many DLL files are located in the extensions/ (PHP 4) or ext/ (PHP 5+) +-; extension folders as well as the separate PECL DLL download (PHP 5+). +-; Be sure to appropriately set the extension_dir directive. +-; ++;extension=bcmath + ;extension=bz2 +-;extension=curl ++;extension=calendar ++extension=curl ++;extension=dba ++;extension=enchant ++;extension=exif + ;extension=ffi + ;extension=ftp +-;extension=fileinfo + ;extension=gd + ;extension=gettext + ;extension=gmp +-;extension=intl ++;extension=iconv + ;extension=imap ++;extension=intl + ;extension=ldap +-;extension=mbstring +-;extension=exif ; Must be after mbstring as it depends on it + ;extension=mysqli +-;extension=oci8_12c ; Use with Oracle Database 12c Instant Client +-;extension=oci8_19 ; Use with Oracle Database 19 Instant Client + ;extension=odbc +-;extension=openssl +-;extension=pdo_firebird ++;zend_extension=opcache ++;extension=pdo_dblib + ;extension=pdo_mysql +-;extension=pdo_oci + ;extension=pdo_odbc + ;extension=pdo_pgsql + ;extension=pdo_sqlite + ;extension=pgsql ++;extension=pspell + ;extension=shmop +- +-; The MIBS data available in the PHP distribution must be installed. +-; See https://www.php.net/manual/en/snmp.installation.php + ;extension=snmp +- + ;extension=soap + ;extension=sockets + ;extension=sodium + ;extension=sqlite3 ++;extension=sysvmsg ++;extension=sysvsem ++;extension=sysvshm + ;extension=tidy + ;extension=xsl +- +-;zend_extension=opcache ++extension=zip + + ;;;;;;;;;;;;;;;;;;; + ; Module Settings ;