PHP 8.1 is currently only receiving security fixes. PHP 8.1.9 is not the latest version in the series, and using this release is not recommended. PHP 8.1.31 is the latest in the series.
Downloads
Source Code
git clone https://github.com/php/php-src.git --depth 1 --branch php-8.1.9
./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
Docker/Podman Containers
docker pull php:8.1.9-cli-alpine
docker pull php:8.1.9-cli
docker pull php:8.1.9-fpm-alpine
docker pull php:8.1.9-apache
docker pull php:8.1.9-fpm
ChangeLog
CLI
- Fixed potential overflow for the builtin server via the
PHP_CLI_SERVER_WORKERS
environment variable. - Fixed GH-8952 (Intentionally closing std handles no longer possible).
Core
- Fixed bug GH-8923 (error_log on Windows can hold the file write lock).
- Fixed bug GH-8995 (WeakMap object reference offset causing TypeError).
Date
- Fixed bug #80047 (DatePeriod doesn't warn with custom DateTimeImmutable).
FPM
- Fixed zlog message prepend, free on incorrect address.
- Fixed possible double free on configuration loading failure.
GD
- Fixed bug GH-8848 (
imagecopyresized()
error refers to the wrong argument).
Intl
- Fixed build for ICU 69.x and onwards.
OPcache
- Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file).
- Fixed bug GH-8030 (Segfault with JIT and large match/switch statements).
Reflection
- Fixed bug GH-8943 (Fixed
Reflection::getModifiersNames()
with readonly modifier). - Fixed bug GH-8982 (Attribute with TARGET_METHOD is rejected on fake closure of method).
Standard
- Fixed the crypt_sha256/512 api build with clang > 12.
- Uses CCRandomGenerateBytes instead of arc4random_buf on macOs.
- Fixed bug GH-9017 (
php_stream_sock_open_from_socket
could return NULL).
Commit List
Arnaud Le Blanc
- Fix GH-8952: std streams can not be deliberately closed in GH-8953
- Fix JIT crash with large number of match/switch arms in GH-8961
Ben Ramsey
- Move NEWS entry to PHP 8.1.8 in 6c29ac3d11
Christoph M. Becker
- Fix GH-8848:
imagecopyresized()
error refers to the wrong argument in 9405f43ba9 - Fix #81723: Memory corruption in
finfo_buffer()
in ca6d511fa5 - Fix GH-8923: error_log on Windows can hold the file write lock in 77e954afaa
David Carlier
- Fix the crypt sha apis build (with recent clang versions) in b3569865b3
- Update FreeBSD CI image in 4f4457a6e9
- intl extension, build fix for icu >= 69.x release. ubrk/ucnv_safeClone had been deprecated in favor of ubrk/ucnv_clone which does not use user provided stacks but remain thread safe in 7c3dfbb845
David CARLIER
- Revert "Update FreeBSD CI image." in 35ca407fcb
- random extension macOs handling update in d830a1f6f0
- Revert "FPM: Downgrade occasional "failed to acquire scoreboard" warning" in 2a5b2cca85
- Revert "FPM: Downgrade occasional "failed to acquire scoreboard" warning" in 9a8ae45c4b
Derick Rethans
- Fixed #80047: DatePeriod doesn't warn with custom DateTimeImmutable in 973c3f6e24
- Revert "Fixed #80047: DatePeriod doesn't warn with custom DateTimeImmutable" in 2f3d0a481a
- Fixed bug #80047 (DatePeriod doesn't warn with custom DateTimeImmutable) in 4b0bb315da
Dmitry Stogov
- Fixed Bug GH-8863: RW operation on readonly property doesn't throw with JIT in 7e23c838e2
- Fixed bug GH-8847 (PHP hanging infinitly at 100% cpu when check php syntaxe of a valid file) in 7cf6f17383
- Fix incorrect condition introdused in 7cf6f173 in d66d477d6f
- Fix type inference for FETCH_DI_UNSET in bd30eff5de
- Fix type inference in 82d3ad64df
Felix Wiedemann
- FPM: Downgrade occasional "failed to acquire scoreboard" warning in 3040f75f43
Gabriel Caruso
- Prepare for 8.0.22 in fcd69a4e2b
- Prepare for PHP 8.0.23 in a670d2be74
George Peter Banyard
- Abort LMDB transaction whe trying to delete non-existing key in 8fce70ae7b
- Revert "Fix GH-8563 Different results for
seek()
on SplFileObject and SplTempFileObject" in 79a283240e
Grégoire Paris
- Use proper grammar in error message in 13f55d5c1b
guoyiyuan
- Prevent potential buffer overflow for large value of
php_cli_server_workers_max
in 789a37f144
Heiko Weber
- FPM: zlog, fix free on wrong address for message prepend in 325ca31dcf
- FPM: Fix possible double free on configuration load failure in bd6793372b
- Fix GH-9017:
php_stream_sock_open_from_socket
could return NULL in 3b7babf9b3
Ilija Tovilo
- Add test coverage job in b7f0950ffe
- Disallow assigning reference to unset readonly property in 110573726b
Patrick Allaert
- Update versions for PHP 8.1.9 in cb8da92d53
Pierrick Charron
- Fixed bug GH-8943
Reflection::getModifiersNames()
with readonly modifier in c650e67c90
Tobias Bachert
- Fix
WeakMap
object reference offset causingTypeError
in GH-8995