PHP 8.1.7: Downloads, Changelog, News

Release Information

Release
8.1.7
PHP Version
PHP 8.1
Release Date
Release Type
Security Update
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.7 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.7 tag from the PHP Git repository.
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.7
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.7-cli-alpine

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

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

ChangeLog

CLI

  • Fixed bug GH-8575 (CLI closes standard streams too early).

Date

  • Fixed bug #51934 (strtotime plurals / incorrect time).
  • Fixed bug #51987 (Datetime fails to parse an ISO 8601 ordinal date (extended format)).
  • Fixed bug #66019 (DateTime object does not support short ISO 8601 time format - YYYY-MM-DDTHH)
  • Fixed bug #68549 (Timezones and offsets are not properly used when working with dates)
  • Fixed bug #81565 (date parsing fails when provided with timezones including seconds).
  • Fixed bug GH-7758 (Problems with negative timestamps and fractions).

FPM

  • Fixed ACL build check on MacOS.
  • Fixed bug #72185: php-fpm writes empty fcgi record causing nginx 502.
  • Fixes use after free.

mysqlnd

OPcache

  • Fixed bug GH-8461 (tracing JIT crash after function/method change).

OpenSSL

  • Fixed bug #79589 (error:14095126:SSL routines:ssl3_read_n:unexpected eof while reading).

Pcntl

  • Fixed Haiku build.

pgsql

Soap

  • Fixed bug GH-8578 (Error on wrong parameter on SoapHeader constructor).
  • Fixed bug GH-8538 (SoapClient may strip parts of nmtokens).

SPL

  • Fixed bug GH-8235 (iterator_count() may run indefinitely).

Standard

  • Fixed bug GH-8185 (Crash during unloading of extension after dl() in ZTS).

Zip

  • Fixed type for index in ZipArchive::replaceFile.

Commit List

Alex Dowad

  • Fix mb_detect_encoding's recognition of Slavic names in 9bb97ee8bc

Arnaud Le Blanc

  • Fix unregistering ini entries of dynamically loaded extension in GH-8435
  • Do not optimize out ini_get() when the entry does not exist during compilation in GH-8507
  • Do not optimize out ini_get() when the entry does not exist during compilation in GH-8507
  • Disable zend_rc_debug during dl() in GH-8552
  • XFAIL tests (GH-8588) in f2ac4f206a
  • Revert "XFAIL tests (GH-8588)" in c88dc44a75
  • Reduce the scope of XFAIL in GH-8592
  • Disable zend_rc_debug during dtor of dl()'ed module in GH-8606

Ben Ramsey

Christoph M. Becker

David CARLIER

David Carlier

Derick Rethans

  • Fixed GH-8471: Segmentation fault when converting immutable and mutable DateTime instances created using reflection in 92f8f19d50
  • Merged pull request #8497 in dadc8431a4
  • Adding missing NEWS entry in 95f5f9d21d
  • Emit EXT_STMT for each 'elseif' clause in c06e1abbaa
  • Merged pull request #8574 in 33850fbb15
  • Integrate timelib 2021.12 in 546abc4bc6
  • Adjust existing tests for fixed bugs in b510868bb8
  • Fixed bug GH-7758 (Problems with negative timestamps and fractions) in ef55bf7149
  • Fixed bug #66019 (DateTime object does not support short ISO 8601 time format - YYYY-MM-DDTHH) in ee2776210b
  • Fixed bug #68549 (Timezones and offsets are not properly used when working with dates) in 20d8c1bea5
  • Fixed bug #51934 (strtotime plurals / incorrect time) in 23dbefdb7b
  • Fixed bug #51987 (Datetime fails to parse an ISO 8601 ordinal date (extended format)) in 78d5076b25
  • Fixed bug #81565 (date parsing fails when provided with timezones including seconds) in 008016b536

Dmitry Stogov

Ilija Tovilo

  • Fix ReflectionProperty::__toString() of properties containing enums in 1944c14ce7
  • Fix undefined behavior in php_set_inet6_addr in f0480eb4de

Jakub Zelenka

  • Add skip for FPM resource heavy tests in 0df28869f6
  • Update NEWS entry with correct version for FPM ACL fix in e28e0ad35e
  • Move FPM ACS fix NEWS entry to 8.0.20 in 82dae61c04
  • Fix bug #72185: php-fpm writes empty fcgi record causing nginx 502 in 23a2030438
  • Fix bug #79589: ssl3_read_n:unexpected eof while reading in 74f75db0c3

Levi Morrison

  • Stop closing stderr and stdout streams in GH-8569
  • Stop closing stderr and stdout streams in GH-8570

Martin Rehberger

  • bug: Fix type for $index in ZipArchive::replaceFile in 389d11308c
  • bug: Fix type for $index in ZipArchive::replaceFile in 62a650ab7d

Martin Vobruba

  • Fix build with Valgrind without I_REPLACE_SONAME_FNNAME_ZU symbol in b388e951b8

Michael Voříšek

  • Fix test XFAIL, update phar to use spl_autoload_register in 60487621c1
  • Fix PDO URI test in 136ef6f129

Nikita Popov

Patrick Allaert

robertnisipeanu

Sara Golemon

Stanislav Malyshev

vajexal

  • Fix get_function_or_method_name when included file is scoped in GH-8467
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.