DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

Xun Zhou
Xun Zhou

Posted on • Updated on

My checklist of PHP extensions used in Alpine docker image

I use a base-alpine-php image to build micro-service. For most of my use cases, I am going to install the following packages, if I really need them:

optional, only if I need to read/parse XML documents

  • php8-xml
  • php8-xmlwriter
  • php8-simplexml

optional, only if I need serve the application via FastCGI

  • php8-fpm
  • php8-session

optional, only if I need the communication with my favorite PostgreSQL

  • php8-pdo
  • php8-pdo_pgsql
  • php8-pgsql

optional, only if I need debug the complex PHP project

  • php8-xdebug

optional, only if I need compress the documents.

  • php8-zlib
  • php8-phar
Package Description significance
git git is required to install certain packages from source code βœ… must
make make is required to build certain packages from source code βœ… must
nano nano alternative lightweight editor in CLI optional
htop a handy command-line tool that displays running processes on a Linux system in real-time optional
curl curl is required to download certain packages βœ… must
openRC OpenRC is the init system used in alpine. The init system manages the services, startup and shutdown of the system. βœ… must
nginx NginxΒ (engine x) is an HTTP and reverse proxy server optional
php8 PHP engine version 8 βœ… must
php8-apcu APCuΒ is an in-memory key-value store for PHP. APC provides both opcode caching (opcache) and object caching. βœ… must
php8-ctype this extension checks whether a character or string falls into a certain character class according to the current locale βœ… must
php8-curl this extension supports PHP to download data using curl. βœ… must
php8-posix This module contains an interface to those functions defined in the IEEE 1003.1 (POSIX.1) standards document which are not accessible through other means. βœ… must
php8-tokenizer The tokenizer functions provide an interface to the PHP tokenizer embedded in the Zend Engine. βœ… must
php8-iconv iconv converts a string from one character encoding to another βœ… must
php8-intl It enables PHP programmers to perform UCA-conformant collation and date/time/number/currency formatting in their scripts. βœ… must
php8-json PHPΒ has these built-in functions to encode and decodeΒ JSONΒ data βœ… must
php8-mbstring MbstringΒ is an extension ofΒ phpΒ used to manage non-ASCII strings. It is non-default and need to be enabled manually. βœ… must
php8-opcache Enables the opcode cache for the CLI version ofΒ PHP βœ… must
php8-openssl This extension binds functions ofΒ OpenSSLΒ library for symmetric and asymmetric encryption and decryption. βœ… must
php8-pcntl Process Control support in PHP implements the Unix style of process creation, program execution, signal handling and process termination. βœ… must
php8-dom The built-inΒ DOMΒ parser makes it possible to process XML documents inΒ PHP. optional
php8-xml XML parser for PHP optional
php8-xmlwriter XML writer for PHP optional
php8-fileinfo FileInfo functions module can guess a content type and encoding of a file optional
php8-fpm FastCGI Process Manager is a primaryΒ PHPΒ FastCGI implementation containing some features (mostly) useful for heavy-loaded sites. optional
php8-pdo PHP PDOΒ is a database access layer that provides a uniform interface for working with multiple databases optional
php8-phar phar Β is a very simple program for creatingΒ pharΒ files with CLI optional
php8-pdo_pgsql PDO_PGSQLΒ is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to PostgreSQL databases. optional
php8-pgsql a PostgreSQL module for PHP engine optional
php8-xdebug Xdebug module for PHP optional
php8-zlib This module enables you to transparently read and write gzip (.gz) compressed files optional
php8-session The session-support in PHP consists of a way to preserve certain data across subsequent accesses. optional
php8-simplexml a very robustΒ SimpleXMLΒ parser optional

Top comments (2)

Collapse
denniskahlerlon profile image
DennisKahlerlon

Thanks for the list, I use github.com/mlocati/docker-php-exte... for extensions

Collapse
vikbert profile image
Xun Zhou Author

Nice project. I starred it. Thx for sharing. The purpose to create this check list for myself, is to remind me, start always with the minimal php image and install only the extension which is necessary for current product.

I am a minimalist :)

🌚 Friends don't let friends browse without dark mode.

Sorry, it's true.