PHP 8.1.4: Downloads, Changelog, News

Release Information

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

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

Downloads

Source Code

Git Clone
Use Git to clone the 8.1.4 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.4
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.4-cli-alpine

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

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

ChangeLog

Core

  • Fixed Haiku ZTS build.
  • Fixed bug GH-8059 arginfo not regenerated for extension.
  • Fixed bug GH-8083 Segfault when dumping uncalled fake closure with static variables.
  • Fixed bug GH-7958 (Nested CallbackFilterIterator is leaking memory).
  • Fixed bug GH-8074 (Wrong type inference of range() result).
  • Fixed bug GH-8140 (Wrong first class callable by name optimization).
  • Fixed bug GH-8082 (op_arrays with temporary run_time_cache leak memory when observed).

GD

  • Fixed libpng warning when loading interlaced images.

FPM

  • Fixed bug #76109 (Unsafe access to fpm scoreboard).

Iconv

  • Fixed bug GH-7953 (ob_clean() only does not set Content-Encoding).
  • Fixed bug GH-7980 (Unexpected result for iconv_mime_decode).

MBString

  • Fixed bug GH-8128 (mb_check_encoding wrong result for 7bit).

MySQLnd

  • Fixed bug GH-8058 (NULL pointer dereference in mysqlnd package).

Reflection

  • Fixed bug GH-8080 (ReflectionClass::getConstants() depends on def. order).
  • Fixed bug GH-8444 (Fix ReflectionProperty::__toString() of properties containing instantiated enums).

Zlib

  • Fixed bug GH-7953 (ob_clean() only does not set Content-Encoding).

Commit List

Alex Dowad

  • mb_check_encoding($str, '7bit') rejects strings with bytes over 0x7F in 8a8533d263
  • Add NEWS entry for recent MBString bugfix (re: '7bit' encoding) in bbc111ed3f

Ben Ramsey

Bob Weinand

  • Fix GH-8082: Prevent leaking memory on observed transient run_time_caches in e6cf583160

Brett

  • Fixed libpng warning when loading interlaced images in 1d48da6da5

Christoph M. Becker

David Carlier

  • Haiku fix ZTS build, disabling tls model in bea542a953

Derick Rethans

Dmitry Stogov

  • Free cached chunks when the requested memory limit is above real usage in c035298eb2
  • Tracing JIT: Fixed incorrect deoptimization info in 82bb169a08
  • Tracing JIT: Fixed incorrect deoptimization info in d0f965d078
  • JIT: Fix missed type store in 0d6b173532
  • Fix type inference in 7434909dc6
  • JIT: Fixed register clobbering during overflow handling in 912608d89b
  • Fix emory leak in 73fed0f028
  • Fixed GH-8044 (var_export/debug_zval_dump HT_ASSERT_RC1 debug failure for SplFixedArray) in 52ae6417ca
  • Release lock and protect SHM before replaying warnings in 8f5480e7eb
  • Disable ASSIGN optimization for values inferred for fatal errors in 7e8257fbd2
  • Fix memory leak in 84a638a346
  • JIT: Fix register allocation in 3198b8787b
  • JIT: Fix register clobbering in 8b8cf8f8f5
  • Fixed incorrect DCE for FREE in 78c7289f69
  • JIT: Fix register allocator in ac8a53cab1
  • Allow setting full type info in 0a5162b2b6
  • JIT: Fix memory leak in 70f7e7d83f
  • Fix typr inference in aced867a95
  • Fix infiniry recursion during serialize() of "tricky" object in bb0b4eb996
  • Fix use after free in 01702a851b

Gabriel Caruso

Ilija Tovilo

  • Fix null static_variable_ptr for uncalled fake closures in 19063a84f0
  • Migrate CI to GitHub actions in 41461cf812
  • GitHub actions test with firebird, dblib and werror in 1e8d35adab
  • Mark failing JIT test with XFAIL in e80ec3fe16

Kamil Tekiela

Nikita Popov

  • Initialize int_codepoint in parse_code_point_param() in bfe9531dc1

Patrick Allaert

Remi Collet

Till Backhaus

Tyson Andre

  • Fix zend_register_internal_class_ex alias generation in GH-8091
  • Fixes infinite recursion introduced by patch to SplFixedArray in GH-8105
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.

Support PHP.Watch — If you find the articles, version information, Codex, and other PHP.Watch contributions useful, consider supporting through GitHub Sponsors. Your sponsorship helps dedicate more time to creating valuable content and improving the PHP community. Together, we can keep the momentum going — thank you for your support!

Thanks to the highest tier sponsor: @TomasVotruba for your generous support to keep PHP.Watch moving 💜