Pop PHP
Getting Started

Requirements

Read this page to get up to speed on what may be required. It can depend on which components you decide to use.

PHP and Composer#

PHP 8.4.0 or newer, and Composer. Every v7 component declares strict_types=1 in every source file and requires >= 8.4.0, so there's no partial upgrade path and no component that still runs on 8.3. CI runs the suite on PHP 8.4 and 8.5.

Extensions Composer Enforces#

Six extensions are hard require entries rather than suggestions, so Composer resolves against them at install time instead of letting you discover them at runtime:

Extension Required by Present in
ext-curl pop-http core and full framework
ext-json pop-utils core and full framework
ext-dom pop-dom full framework
ext-gd pop-image full framework
ext-openssl pop-crypt full framework
ext-sodium pop-crypt full framework

Extensions Each Component Would Like#

These are suggest entries. Composer never enforces them, an installation completes without them, and nothing warns you at any point — so this table is the one to read against what you actually plan to use:

For Extensions Wanted by
Databases ext-pdo, ext-mysqli, ext-pgsql, ext-sqlite3 pop-db
Images ext-imagick, ext-ctype pop-image
PDFs ext-imagick, ext-iconv, ext-mbstring, ext-zlib pop-pdf
Queues ext-redis pop-queue
Caching ext-apcu, ext-redis, ext-memcached pop-cache
HTTP ext-zlib, ext-mbstring, ext-simplexml pop-http
Config and locale files ext-simplexml, ext-libxml pop-config, pop-i18n, pop-form

See Also#