Skip to content

Extensions

Every build carries this set. It is the supported surface: a statically linked PHP cannot dlopen arbitrary extensions, so pecl install <anything> does not work against these builds.

  • apcu
  • bcmath
  • bz2
  • calendar
  • ctype
  • curl
  • dom
  • exif
  • ffi
  • fileinfo
  • filter
  • ftp
  • gd
  • imagick
  • gettext
  • gmp
  • iconv
  • igbinary
  • intl
  • ldap
  • mbstring
  • mbregex
  • msgpack
  • mysqli
  • mysqlnd
  • opcache
  • openssl
  • password-argon2
  • pcntl
  • pdo
  • pdo_mysql
  • pdo_pgsql
  • pgsql
  • phar
  • posix
  • readline
  • redis
  • mongodb
  • session
  • shmop
  • simplexml
  • soap
  • sockets
  • sodium
  • sqlite3
  • pdo_sqlite
  • ssh2
  • sysvmsg
  • sysvsem
  • sysvshm
  • tidy
  • tokenizer
  • uuid
  • xml
  • xmlreader
  • xmlwriter
  • xsl
  • yaml
  • zip
  • zlib
  • xdebug — shipped as lib/xdebug.so, because it cannot be linked statically. Loaded with xdebug.mode = off; set XDEBUG_MODE to enable it for a single invocation, which Xdebug honors over any ini value.
  • sqlsrv — Microsoft’s ODBC driver is dylib-only on macOS.
  • pcov — shared-only, like Xdebug. Use xdebug.mode=coverage.

Some extensions require a newer PHP than the line they would ship on, so they are dropped rather than failing the build:

  • PHP 7.4 — opcache, mongodb, password-argon2
  • PHP 8.0 — mongodb, password-argon2

Verification diffs php -m against the requested list on every build, so a silently dropped extension fails the build rather than reaching you.