> ## Documentation Index
> Fetch the complete documentation index at: https://developer.upsun.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Extensions

> See what PHP extensions are available with each PHP version on Upsun Cloud.

> [!NOTE]
>
> You can use the [Upsun Cloud composable image](https://developer.upsun.com/docs/configure-apps/app-reference/composable-image.md) to install multiple runtimes and tools in your application container.
> When using the composable image, see how you can:
>
> * [Manage PHP extensions](https://developer.upsun.com/docs/configure-apps/app-reference/composable-image.md#php-extensions-and-python-packages)
> * [Modify your PHP runtime](https://developer.upsun.com/docs/languages/php#modify-your-php-runtime-when-using-the-composable-image)

PHP has a number of [extensions](https://pecl.php.net/) developed by members of the community.
Some of them are available for Upsun Cloud containers.

You can define the PHP extensions you want to enable or disable:


&#x20;   applications:
&#x20;     myapp:
&#x20;       type: 'php:\{\{version:php:latest}}'
&#x20;       runtime:
&#x20;         extensions:
&#x20;           \- raphf
&#x20;           \- http
&#x20;           \- igbinary
&#x20;           \- redis
&#x20;         disabled\_extensions:
&#x20;           \- sqlite3

You can also [include configuration options](https://developer.upsun.com/docs/configure-apps/app-reference/single-runtime-image.md#extensions) for specific extensions.

The following table shows all extensions that are available (●) and on by default (✔).
You can turn on the available ones with the `extensions` key
and turn off those on by default with the `disabled_extensions` key.

✔ Default (enabled)◆ Built-in● Available<table><thead><tr><th>Extension</th><th>Description</th><th>8.5</th><th>8.4</th><th>8.3</th><th>8.2</th><th>8.1</th><th>8.0</th><th>7.4</th><th>7.3</th><th>7.2</th><th>7.1</th><th>7.0</th><th>5.6</th><th>5.5</th><th>5.4</th></tr></thead><tbody><tr><td>`amqp`</td><td>RabbitMQ/AMQP messaging client.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`apc`</td><td>Legacy APC opcode/user cache.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td></tr><tr><td>`apcu`</td><td>In-memory user data cache (APCu).</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`apcu_bc`</td><td>Backward-compatibility layer for APCu.</td><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`applepay`</td><td>PHP extension for applepay support.</td><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td /><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`bcmath`</td><td>Arbitrary precision mathematics.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`blackfire`</td><td>Blackfire profiling probe.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`bz2`</td><td>bzip2 compression support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>●</td><td /><td /><td /></tr><tr><td>`calendar`</td><td>Calendar conversion functions.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`ctype`</td><td>Character type checking functions.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`curl`</td><td>HTTP and network requests via libcurl.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`datadog-profiling`</td><td>Datadog continuous profiler.</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`dba`</td><td>DBA key-value database abstraction.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`dom`</td><td>DOM XML document manipulation.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`enchant`</td><td>Spell checking via Enchant.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`event`</td><td>High-performance event loop bindings.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /></tr><tr><td>`exif`</td><td>Read image EXIF metadata.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`ffi`</td><td>Foreign Function Interface (C libraries).</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`fileinfo`</td><td>MIME type and file metadata detection.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`ftp`</td><td>FTP client functions.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`gd`</td><td>Image creation and manipulation (GD).</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`gearman`</td><td>Gearman job queue client/worker.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td></tr><tr><td>`geoip`</td><td>IP geolocation lookups.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`gettext`</td><td>Native gettext i18n support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`gmp`</td><td>Big integer arithmetic (GMP).</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`gnupg`</td><td>GnuPG encryption/signature support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`grpc`</td><td>gRPC client/server support.</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`http`</td><td>PHP extension for http support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td>●</td></tr><tr><td>`iconv`</td><td>Character set conversion.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`igbinary`</td><td>Compact binary serializer.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`imagick`</td><td>Image processing with ImageMagick.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`imap`</td><td>IMAP/POP3/NNTP mail access.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`interbase`</td><td>Firebird/InterBase database driver.</td><td /><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`intl`</td><td>Internationalization (ICU) features.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`ioncube`</td><td>ionCube loader support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`json`</td><td>JSON encode/decode functions.</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>●</td><td /></tr><tr><td>`ldap`</td><td>LDAP directory access.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`lz4`</td><td>LZ4 compression support.</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`lzf`</td><td>LZF compression support.</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`mailparse`</td><td>Email/MIME parsing utilities.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`mbstring`</td><td>Multibyte string functions.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`mcrypt`</td><td>Legacy mcrypt encryption functions.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`memcache`</td><td>Memcache client extension.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td></tr><tr><td>`memcached`</td><td>Memcached client extension.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`mongo`</td><td>Legacy MongoDB driver.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td></tr><tr><td>`mongodb`</td><td>MongoDB driver.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`msgpack`</td><td>MessagePack serialization.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /></tr><tr><td>`mssql`</td><td>Legacy Microsoft SQL Server driver.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td></tr><tr><td>`mysql`</td><td>Legacy MySQL driver.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`mysqli`</td><td>MySQL improved driver.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`mysqlnd`</td><td>MySQL native driver.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`newrelic`</td><td>New Relic PHP agent.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /></tr><tr><td>`oauth`</td><td>OAuth client utilities.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`odbc`</td><td>ODBC database connectivity.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`opcache`</td><td>Bytecode cache and optimizer.</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>◆</td><td>✔</td></tr><tr><td>`openswoole`</td><td>OpenSwoole async networking/server.</td><td /><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`opentelemetry`</td><td>OpenTelemetry tracing/metrics SDK.</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`pdo`</td><td>PHP Data Objects core.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`pdo_dblib`</td><td>PDO driver for FreeTDS/MSSQL/Sybase.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`pdo_firebird`</td><td>PDO driver for Firebird.</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`pdo_mysql`</td><td>PDO driver for MySQL/MariaDB.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`pdo_odbc`</td><td>PDO driver for ODBC.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`pdo_pgsql`</td><td>PDO driver for PostgreSQL.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`pdo_sqlite`</td><td>PDO driver for SQLite.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`pdo_sqlsrv`</td><td>PDO driver for SQL Server.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`pecl-http`</td><td>PHP extension for pecl-http support.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td /></tr><tr><td>`pgsql`</td><td>PostgreSQL driver.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`phar`</td><td>PHAR archive support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`pinba`</td><td>PHP extension for pinba support.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td></tr><tr><td>`posix`</td><td>POSIX process and system functions.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`propro`</td><td>PHP extension for propro support.</td><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td /><td /><td /><td>●</td><td /><td /></tr><tr><td>`protobuf`</td><td>Protocol Buffers support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`pspell`</td><td>Spell checking via Pspell/Aspell.</td><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`raphf`</td><td>PHP extension for raphf support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td>●</td><td /><td /></tr><tr><td>`rdkafka`</td><td>Apache Kafka client (librdkafka).</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`readline`</td><td>Interactive readline support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`recode`</td><td>PHP extension for recode support.</td><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`redis`</td><td>Redis client extension.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`shmop`</td><td>Shared memory operations.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`simplexml`</td><td>SimpleXML parsing API.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`snappy`</td><td>Snappy compression support.</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`snmp`</td><td>SNMP protocol support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`soap`</td><td>SOAP client/server support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`sockets`</td><td>Low-level socket API.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`sodium`</td><td>Modern cryptography (libsodium).</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /></tr><tr><td>`sourceguardian`</td><td>PHP extension for sourceguardian support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`spplus`</td><td>PHP extension for spplus support.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td></tr><tr><td>`sqlite3`</td><td>SQLite3 driver.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td></tr><tr><td>`sqlsrv`</td><td>Microsoft SQL Server driver.</td><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`ssh2`</td><td>SSH2 and SFTP support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`swoole`</td><td>Async networking and coroutine server.</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`sybase`</td><td>PHP extension for sybase support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`sysvmsg`</td><td>System V message queue support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`sysvsem`</td><td>System V semaphore support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`sysvshm`</td><td>System V shared memory support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`tideways`</td><td>PHP extension for tideways support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`tideways_xhprof`</td><td>PHP extension for tideways\_xhprof support.</td><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`tidy`</td><td>HTML/XML cleanup and repair.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`tokenizer`</td><td>PHP tokenizer functions.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`uuid`</td><td>UUID generation and handling.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /></tr><tr><td>`uv`</td><td>libuv event loop bindings.</td><td /><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr><tr><td>`wddx`</td><td>WDDX serialization support.</td><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`xcache`</td><td>Legacy opcode/user cache.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td></tr><tr><td>`xdebug`</td><td>Debugging and code coverage tools.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`xhprof`</td><td>Function-level profiler.</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td></tr><tr><td>`xml`</td><td>Core XML parser support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`xmlreader`</td><td>Streaming XML reader.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`xmlrpc`</td><td>XML-RPC protocol support.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`xmlwriter`</td><td>Streaming XML writer.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`xsl`</td><td>XSLT transformations.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td></tr><tr><td>`yaml`</td><td>YAML parsing and emitting.</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /><td /></tr><tr><td>`zbarcode`</td><td>PHP extension for zbarcode support.</td><td /><td /><td /><td /><td /><td /><td /><td>●</td><td>●</td><td>●</td><td>●</td><td /><td /><td /></tr><tr><td>`zip`</td><td>ZIP archive support.</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td>✔</td><td /><td /><td /></tr><tr><td>`zstd`</td><td>Zstandard compression support.</td><td>●</td><td>●</td><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /><td /></tr></tbody></table>

Some built-in modules are always on:

* `date`
* `filter`
* `hash`
* `json` (from 8.0)
* `libxml`
* `openssl`
* `pcntl`
* `pcre`
* `Reflection`
* `session`
* `SPL`
* `standard`
* `Zend OPcache` (from 5.5)
* `zlib`

To see a complete list of the compiled PHP extensions, run the following [CLI command](https://developer.upsun.com/cli.md):

```bash theme={null}
upsun ssh "php -m"
```

## Custom PHP extensions

It's possible to use an extension not listed here,
but it takes slightly more work.

### Using PIE (PHP Installer for Extensions)

[PIE](https://www.php.net/manual/en/install.pie.intro.php) is the official PHP extension installer, replacing the deprecated PECL.
You can use PIE to compile and install extensions from source during the [build hook](https://developer.upsun.com/docs/configure-apps/hooks/hooks-comparison.md#build-hook).

The following example installs [Xdebug](https://xdebug.org/) (a Zend extension) and [PhpRedis](https://github.com/phpredis/phpredis) (a standard extension) using PIE:


&#x20; applications:
&#x20;   myapp:
&#x20;     type: 'php:\{\{version:php:latest}}'
&#x20;     hooks:
&#x20;       build: |
&#x20;         set -ex
&#x20;         \# Download PIE (PHP Installer for Extensions)
&#x20;         curl -Lo /app/.global/bin/pie https\://github.com/php/pie/releases/latest/download/pie.phar
&#x20;         chmod +x /app/.global/bin/pie
&#x20;         \# Install extensions with INSTALL\_ROOT to avoid writing to read-only /usr/lib/php
&#x20;         INSTALL\_ROOT=/app/.global pie install xdebug/xdebug
&#x20;         INSTALL\_ROOT=/app/.global pie install phpredis/phpredis
&#x20;         \# Resolve the PHP API extension directory dynamically
&#x20;         PHP\_EXT\_DIR=\$(php -r 'echo ini\_get("extension\_dir");')
&#x20;         \# Enable extensions via php.ini in the app root
&#x20;         echo "zend\_extension=/app/.global\$\{PHP\_EXT\_DIR}/xdebug.so" > /app/php.ini
&#x20;         echo "extension=/app/.global\$\{PHP\_EXT\_DIR}/redis.so" >> /app/php.ini
&#x20;         \# Verify installation
&#x20;         php -c /app/php.ini -m | grep -iE 'xdebug|redis'

This approach works as follows:

1. **Download PIE**: The PIE phar is downloaded into `/app/.global/bin/`, which is on the `PATH`.
2. **Install the extensions**: The `INSTALL_ROOT` environment variable redirects the compiled `.so` files under `/app/.global/` instead of the read-only system directory `/usr/lib/php/`.
3. **Enable the extensions**: A `php.ini` file is created at the [app root](https://developer.upsun.com/docs/configure-apps/app-reference/single-runtime-image.md#root-directory) to load each extension using its full path.

> [!NOTE]
>
> For Zend extensions such as Xdebug, use `zend_extension=` in the `php.ini` file.
> For standard extensions such as Redis, use `extension=` instead.

You can find available PIE packages on [Packagist](https://packagist.org/) by searching for packages of type `php-ext`.

### Using a pre-compiled `.so` file

Alternatively, you can download a pre-compiled `.so` file for the extension:

1. Download the `.so` file for the extension as part of your build hook using `curl` or similar.
   It can also be added to your Git repository if the file isn't publicly downloadable,
   but committing large binary blobs to Git is generally not recommended.

2. Load the extension using an absolute path by [customizing the PHP settings](https://developer.upsun.com/docs/languages/php#customize-php-settings).
   For example, if the extension is named `spiffy.so` and is in your [app root](https://developer.upsun.com/docs/configure-apps/app-reference/single-runtime-image.md#root-directory),
   your configuration looks like the following:


&#x20; applications:
&#x20;   myapp:
&#x20;     type: 'php:\{\{version:php:latest}}'
&#x20;     variables:
&#x20;       php:
&#x20;         extension: /app/spiffy.so


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.