PHP 8.1.26: Downloads, Changelog, News

Release Information

Release
8.1.26
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.26 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.26 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.26
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.26-cli-alpine

Debian-based: More compatible with other components, complete, and are widely used.
docker pull php:8.1.26-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.26-fpm-alpine

Debian-based ZTS Apache: Includes Apache web server integrating PHP as an Apache module.
docker pull php:8.1.26-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.26-fpm

ChangeLog

Core

  • Fixed bug GH-12468 (Double-free of doc_comment when overriding static property via trait).
  • Fixed segfault caused by weak references to FFI objects.
  • Fixed max_execution_time: don't delete an unitialized timer.

DOM

  • Fix registerNodeClass with abstract class crashing.
  • Add missing NULL pointer error check.
  • Fix validation logic of php:function() callbacks.

Fiber

  • Fixed bug GH-11121 (ReflectionFiber segfault).

FPM

  • Fixed bug GH-9921 (Loading ext in FPM config does not register module handlers).
  • Fixed bug GH-12232 (FPM: segfault dynamically loading extension without opcache).

Intl

  • Removed the BC break on IntlDateFormatter::construct which threw an exception with an invalid locale.

Opcache

  • Added warning when JIT cannot be enabled.
  • Fixed bug GH-8143 (Crashes in zend_accel_inheritance_cache_find since upgrading to 8.1.3 due to corrupt on-disk file cache).

OpenSSL

  • Fixed bug GH-12489 (Missing sigbio creation checking in openssl_cms_verify).

PCRE

  • Fixed bug GH-11374 (Backport upstream fix, Different preg_match result with -d pcre.jit=0).

SOAP

  • Fixed bug GH-12392 (Segmentation fault on SoapClient::__getTypes).
  • Fixed bug #66150 (SOAP WSDL cache race condition causes Segmentation Fault).
  • Fixed bug #67617 (SOAP leaves incomplete cache file on ENOSPC).
  • Fix incorrect uri check in SOAP caching.
  • Fix segfault and assertion failure with refcounted props and arrays.
  • Fix potential crash with an edge case of persistent encoders.
  • Fixed bug #75306 (Memleak in SoapClient).

Streams

  • Fixed bug #75708 (getimagesize with "&$imageinfo" fails on StreamWrappers).

XMLReader

  • Add missing NULL pointer error check.

XMLWriter

  • Add missing NULL pointer error check.

XSL

  • Add missing module dependency.
  • Fix validation logic of php:function() callbacks.

Commit List

Ben Ramsey

Daniil Gentili

David Carlier

  • ext/intl: change when the locale is invalid for the 8.1/8.2 serie in 0da1356c66

Dmitry Stogov

  • Fixed GH-12428: Assertion with function/tracing JIT in dabced0fbb
  • Fixed GH-11917: primitives seem to be passed via reference instead of by value under some conditions when JIT is enabled on windows in GH-12451
  • Fixed GH-12494: Zend/tests/arginfo_zpp_mismatch.phpt causes a segfault withJIT + --repeat 2 in e0ca4dca5b
  • memory_consumption must be page aligned in e270ee3008
  • Fixed GH-12482: Abortion with tracing JIT in 76c41d27f9
  • Fixed incorrect type inference in aa45df4849
  • Fixed regression intoduced by 76c41d27 in fbf4e196da
  • Fixed GH-12509: JIT assertion when running php-parser tests in 5f46d86955
  • Fix memory leak after GC inside a foreach loop in GH-12572
  • Fixed GH-12511: Use must be in next opline assertion with patched infection in b3b46a44c5
  • Backport implementation of iterative Pearce's SCC finding algoritm in GH-12528
  • Backport fix for incorrect assumption about in-memory zval type in 455a967934
  • Fixed inorrect QM_ASSIGN elimination in 19dfe05f16
  • Fixed GH-12564: The negative fiber.stack_size setting leads to crash in fe3a819e32
  • Fixed GH-10008: Narrowing occurred during type inference of ZEND_ADD_ARRAY_ELEMENT in 798b9d097b
  • Don't JIT after fatal errors in 77a497d56a

icy17

  • Fix null pointer dereferences in case of allocation failure in 900f0cab9f

Ilija Tovilo

  • Move ARM build to CircleCI in 4332546bbf
  • Fix JIT on nightly in 734afa0ba8
  • Avoid JIT warning with opcache.jit_buffer_size=0 in 07d81592e9
  • Fix double-free of doc_comment when overriding static property via trait in af3d2f7ec9
  • Run FreeBSD on push in b280f1f964
  • Use attribute for ignoring Laravel test in 0e8205bd9a

Jakub Zelenka

  • Fix GH-12232: FPM: segfault dynamically loading extension without opcache in 0217be4d5b
  • Fix GH-12489: Missing sigbio creation checking in openssl_cms_verify in 83a242ec0c
  • Fix bug #75708: getimagesize with "&$imageinfo" fails on StreamWrappers in 52aa0d9ecc
  • Fix GH-9921: Loading ext in FPM config does not register module handlers in a8c6c6165b

Kévin Dunglas

  • fix: don't delete an unitialized timer in GH-12537

Michael Voříšek

Niels Dossche

  • Fix GH-12392: Segmentation fault on SoapClient::__getTypes in 7e4a3236d9
  • Fix registerNodeClass with abstract class crashing in d7de0ceca6
  • Add missing module dependency for xsl in 68aa793173
  • Fix bug #66150: SOAP WSDL cache race condition causes Segmentation Fault in 43e63168e9
  • Fix incorrect uri check in SOAP caching in abf562c417
  • Fix segfault and assertion failure with refcounted props and arrays in 01d61605d3
  • Fix incorrect dtor for persistent sdl->encoders in 9f7f3b2034
  • Fix bug #75306: Memleak in SoapClient in 27797a26ca
  • Fix memory leak in error path of zend_register_list_destructors_ex in 3bf5d89efb
  • Fix validation logic of php:function() callbacks in dom and xsl in 20c9c4a367
  • Fix unspecified behaviour in zend_alloc in heap->limit computation in 28110f8d0a

Sergei Turchanov

  • Reset inheritance_cache pointer of zend_class_entry upon serialization in GH-12401

sji

  • Fix segfault caused by weak references to FFI objects in GH-12488
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.