My checklist of PHP extensions used in Alpine docker image
Xun Zhou

Xun Zhou @vikbert

About: Senior Software Engineer at Schwarz IT, focuses on Symfony PHP & React.js at work, makes Apps & Chrome Extensions with TypeScript, React, Svelte and Vue in spare time <https://vikbert.github.io/>

Location:
Berlin, Germany
Joined:
May 9, 2019

My checklist of PHP extensions used in Alpine docker image

Publish Date: Jun 25 '22
25 6

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
php8-soap The SOAP extension can be used to write SOAP Servers and Clients. It supports subsets of » SOAP 1.1, » SOAP 1.2 and » WSDL 1.1 specifications optional

Comments 6 total

  • DennisKahlerlon
    DennisKahlerlonJun 28, 2022

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

    • Xun Zhou
      Xun ZhouJul 7, 2022

      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 :)

    • Vinod Chauhan
      Vinod ChauhanSep 20, 2023

      Hi Dennis, Can share how to use this lib. I'm using it in my dockerfile but it giving me error docker-php-ext-install: not found

      This occurs in when I inherit FROM alpine:3.11

      Thanks

  • ReactJS Development Company
    ReactJS Development CompanyApr 27, 2023

    Thanks for sharing these PHP extensions, very nice. These are very useful in PHP development projects.

  • Nacho Colomina Torregrosa
    Nacho Colomina TorregrosaJun 2, 2023

    Hey! Great list, thanks!!
    As an addition, php8-soap if you need to connect to soap services

    • Xun Zhou
      Xun ZhouJun 21, 2023

      thx, add php8-soap to the list.

Add comment