PHP 8.1.19: Downloads, Changelog, News

Release Information

Release
8.1.19
PHP Version
PHP 8.1
Release Date
Release Type
Bug Fix Release
Release Status
Use PHP 8.1.28 instead
Branch Status
Security-Fixes Only

PHP 8.1 is currently only receiving security fixes. PHP 8.1.19 is not the latest version in the series, and using this release is not recommended. PHP 8.1.28 is the latest in the series.

Downloads

Source Code

Git Clone
Use Git to clone the 8.1.19 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.19
How to compile PHP
PHP can be compiled by setting up the dependencies, building the configure script (./buildconf), configuring the build ./configure, and running make.
Detailed articles on how to compile PHP are available for Ubuntu/Debian based systems and Fedora/RHEL based systems.

Windows binaries

Non-Thread Safe Builds
Non-Thread Safe (NTS) builds are single-threaded PHP builds. They can be used on web servers that integrate PHP over FastCGI protocol, such as Nginx, Caddy, and IIS.
Thread-Safe Builds
Thread-Safe (TS) builds are multi-thread PHP builds, often used to integrate PHP as a Server API for multithreaded servers. The most common use case is using PHP as an Apache module.

Docker/Podman Containers

PHP CLI
PHP CLI Containers images only include the PHP CLI, and no FPM or Apache modules. The Alpine builds are lightweight, but may introduce incompatibilities due to their musl builds. Albeit their larger size, the Debian-based (without the "-alpine" suffix) images are more complete, and widely used.

Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.1.19-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.1.19-cli
PHP CLI + Web Server Integration
These container images include PHP CLI, and a web server integration. FPM container images can be integrated with web servers such as Nginx, Caddy, and Apache with Event MPM. The Apache container images include Apache web server, integrating PHP as an Apache module.

Alpine-based: Lightweight, but may introduce incompatibilities due to their musl builds.
docker pull php:8.1.19-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.1.19-apache

Debian-based NTS FPM: PHP-FPM, can be integrated with Nginx, Caddy, and other web servers over Fast CGI.
docker pull php:8.1.19-fpm

ChangeLog

Core

  • Fix inconsistent float negation in constant expressions.
  • Fixed bug GH-8841 (php-cli core dump calling a badly formed function).
  • Fixed bug GH-10737 (PHP 8.1.16 segfaults on line 597 of sapi/apache2handler/sapi_apache2.c).
  • Fixed bug GH-11028 (Heap Buffer Overflow in zval_undefined_cv.).
  • Fixed bug GH-11108 (Incorrect CG(memoize_mode) state after bailout in ??=).

DOM

  • Fixed bug #80602 (Segfault when using DOMChildNode::before()).
  • Fixed incorrect error handling in dom_zvals_to_fragment().

Exif

  • Fixed bug GH-9397 (exif read : warnings and errors : Potentially invalid endianess, Illegal IFD size and Undefined index).

Intl

  • Fixed bug GH-11071 (TZData version not displayed anymore).

PCRE

  • Fixed bug GH-10968 (Segfault in preg_replace_callback_array()).

Standard

  • Fixed bug GH-10990 (mail() throws TypeError after iterating over $additional_headers array by reference).
  • Fixed bug GH-9775 (Duplicates returned by array_unique when using enums).

Commit List

Derick Rethans

  • Fixed tests and remove the XFAIL 'Various bugs exist'. They did, but they were in the tests in e67bb14ab4

Dmitry Stogov

  • Tracing JIT: Fixed incorrect code generation fofr SEND-ing of result of ASSIGN to typed reference in 8a749c79d0
  • Allow FETCH_OBJ_W and FETCH_STATIC_PROP_W to return INDIRECT/UNDEF zval for uninitialized typed properties in GH-11048

Ilija Tovilo

  • Unary minus const expression consistency in 41bbb116dd
  • Fix incorrect zval type_flags in preg_replace_callback_array() for immutable arrays in 66ce205718
  • Fix add_function_array() assertion when op2 contains op1 in 84b4020eb4
  • Fix test bug60120.phpt in dd44a9330e
  • Support enums in array_unique in e8b8341d3d
  • Fix reference returned from CallbackFilterIterator::accept() in 5855bdcd6c
  • Fix incorrect CG(memoize_mode) state after bailout in ??= in 4c38a79f09
  • Endless recursion when using + on array in foreach in 520fc2d2f3

Jakub Zelenka

  • Add FPM FastCGI env var test for Apache without path info fix in 15802dfc62
  • Add FPM FCGI env Apache handler UDS test in ebb3213f79
  • Use curl from brew on MacOS CI in 4be6435c9f
  • Add zend_test_crash funtion to segfault PHP process in 0ac55e9bfb
  • Add missing zend_test_crash message initialization in 84be9042f9

Michael Voříšek

  • Fix mysql tests with non-standard server port in 0ab51a9561

NathanFreeman

Niels Dossche

  • Fix GH-8841: php-cli core dump calling a badly formed function in cf9b030a57
  • Fix GH-10990: mail() throws TypeError after iterating over $additional_headers array by reference in 79c5b32d15
  • Fix incorrect error handling in dom_zvals_to_fragment() in 0579beb842
  • Fix GH-9397: exif read : warnings and errors : Potentially invalid endianess, Illegal IFD size and Undefined index in b81ce297a1
  • Fix GH-10737: PHP 8.1.16 segfaults on line 597 of sapi/apache2handler/sapi_apache2.c in 51faf04dbd
  • Fix GH-11028: Heap Buffer Overflow in zval_undefined_cv in fc32d39b7f
  • Set error_log to an empty value if the test relies on that feature in 691ff9f845

Patrick Allaert

Remi Collet

Subscribe to PHP.Watch newsletter for monthly updates

You will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.