PHP 8.1 is currently only receiving security fixes. PHP 8.1.10 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 https://github.com/php/php-src.git --depth 1 --branch php-8.1.10
./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.10-cli-alpine
docker pull php:8.1.10-cli
docker pull php:8.1.10-fpm-alpine
docker pull php:8.1.10-apache
docker pull php:8.1.10-fpm
ChangeLog
Core
- Fixed
--CGI--
support of run-tests.php. - Fixed incorrect double to long casting in latest clang.
- Fixed bug GH-9266 (GC root buffer keeps growing when dtors are present).
Date
- Fixed bug GH-8730 (
DateTime::diff
miscalculation is same time zone of different type). - Fixed bug GH-8964 (DateTime object comparison after applying delta less than 1 second).
- Fixed bug GH-9106: (DateInterval 1.5s added to DateTimeInterface is rounded down since PHP 8.1.0).
- Fixed bug #81263 (Wrong result from
DateTimeImmutable::diff
).
DBA
- Fixed LMDB driver memory leak on DB creation failure
- Fixed bug GH-9155 (dba_open("non-existing", "c-", "flatfile") segfaults)
IMAP
- Fixed bug GH-9309 (Segfault when connection is used after
imap_close()
).
Intl
- Fixed
IntlDateFormatter::formatObject()
parameter type.
MBString
- Fixed bug GH-9008 (
mb_detect_encoding()
: wrong results with null $encodings).
OPcache
- Fixed bug GH-9033 (Loading blacklist file can fail due to negative length).
- Fixed bug GH-9164 (Segfault in
zend_accel_class_hash_copy
).
OpenSSL
- Fixed bug GH-9339 (OpenSSL oid_file path check warning contains uninitialized path).
PDO_SQLite
- Fixed bug GH-9032 (SQLite3 authorizer crashes on NULL values).
SQLite3
- Fixed bug GH-9032 (SQLite3 authorizer crashes on NULL values).
Streams
Commit List
Arnaud Le Blanc
- Extended map_ptr before copying class table in GH-9188
Ben Ramsey
- Revert "Fix GH-9296:
ksort
behaves incorrectly on arrays with mixed keys" in 5b6a5b0dee - Update versions for PHP 8.1.10 in 5fdbda4c1d
Christoph M. Becker
- Fix
--CGI--
support ofrun-tests.php
in d430652935 - Fix GH-9008:
mb_detect_encoding()
: wrong results with null $encodings in c2bdaa48e1 - Fix GH-9033: Loading blacklist file can fail due to negative length in 35fd97c3c9
- Initialize blacklist_path_length in 7d36703a8f
- Fix GH-9155: dba_open("non-existing", "c-", "flatfile") segfaults in a442e29485
- Fix GH-9032: SQLite3 authorizer crashes on NULL values in 8ed21a89f3
- Fix GH-9309: Segfault when connection is used after
imap_close()
in 71c22efae7 - Fix tests in 183a7b991f
Denis Vaksman
- Fix GH-9296:
ksort
behaves incorrectly on arrays with mixed keys in cd1aed8edd
Derick Rethans
- Merge timelib 2021.13 in eea2283693
- Fixed GH-8730:
DateTime::diff
miscalculation is same time zone of different type in cc9c57722a - Fixed #81263: Wrong result from
DateTimeImmutable::diff
in 37d460b64a - Fixed diff, again in 355995735b
- Merge timelib 2021.14 in 557e02bf9f
- Update NEWS in 3edf93d7ee
- Import timelib 2021.15 in 0d3061d225
- Add test case for GH-8964 in 7831a1cae6
- Revert "Fixed #80047: DatePeriod doesn't warn with custom DateTimeImmutable" in 85f3a969dc
- Fixed bug #80047 (DatePeriod doesn't warn with custom DateTimeImmutable) in 001e7dbb04
- Import timelib 2021.16 in a35b3e70c3
- Add test case for GH-9601: DateInterval 1.5s added to DateTimeInterface is rounded down since PHP 8.1.0 in a0c01f385c
- Updated to version 2022.2 (2022b) in c6992121cc
- Empty merge in 8bef874e02
- Updated to version 2022.2 (2022b) in 455c40da50
- The data for Tehran has changed, update test in 962d8bd0b6
Dmitry Stogov
- Fix memory leak in 44b86aee31
- JIT: Fix missing type stote in e70d282077
- Fix type inference in d50875c822
- Fix SSA reconstruction when body of "foreach" loop is removed in af1a7b7b72
- Fix incorrect guard motion out of the loop in 69c10aed58
- Tracing: Prevent recording types of variables used to pass
zend_class_entry
in 2758ff2a77 - Fix order of checks to throw exception with better message in 18183ff9c7
Gabriel Caruso
- [ci-skip] Fix for bug #80047 was included in previous release in a08ffc7052
George Peter Banyard
- Fix memory leak in LMDB driver in 5b83b3a933
- Update NEWS in 6cdfaf97e0
Gert de Pagter
- Correct
IntlDateFormatter::formatObject
params in 05ed47ef12
Go Kudo
Ilija Tovilo
- Re-add MSAN in nightly in ad136e6a6d
- Fix spl test cleanup in 3962f00b01
- Fix attribute target validation on fake closures in 565a416e87
Jakub Zelenka
- Fix GH-8472:
stream_socket_accept
result may have incorrect metadata in d9ff5e079f - Fix GH-8409: SSL handshake timeout persistent connections hanging in d0527427be
- Revert "Fix GH-8409: SSL handshake timeout persistent connections hanging" in 897ca85d33
Michael Olšavský
- Fix GH-9266: GC root buffer keeps growing when dtors are present in 0709578517
twosee
- Re-fix GH-8409: SSL handshake timeout persistent connections hanging in b8d07451d4
Vladislav Senin
- Fixes CI macOs, replacing now disabled tidyp dependency to tidy-html5 in 8aeae636e3
zeriyoshi
- [CI skip] update NEWS in 1ce2b56227